Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Array in C
Forum - C/C++ - Array in C

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Onpin (Normal User)
Newbie


Messaggi: 6
Iscritto: 10/09/2012

Segnala al moderatore
Postato alle 14:38
Lunedì, 10/09/2012
Salve a tutti,
avrei bisogno con urgenza di un vs cortese contributo sul C.

Ho questo Array:
static _DSPByte Triletterale[8][4]={"ABC","AXT","ALP","PAC","REV","@01","@02","@03"};

Dovrei scrivere del codice che quando troverò una @ (come primo carattere) della stringa dell'array, devo sostituire dovrà sostituire il primo carattere con 0xFF.

GRAZIE

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 14:44
Lunedì, 10/09/2012
Cameriere del codice per favore:):)

A parte il mio sarcasmo ...

Dai almeno una bozza, di pseudo codice dopo magari se ne può discutere insieme:k:

PM Quote
Avatar
Onpin (Normal User)
Newbie


Messaggi: 6
Iscritto: 10/09/2012

Segnala al moderatore
Postato alle 14:52
Lunedì, 10/09/2012
Sorry...

All'interno di un ciclo ho:

--- memcpy(message_item->message_type, Triletterale, MES_TYPE_LEN);

Il Triletterale per le stringhe diverse da quelle con @ questo è OK, ma come faccio per quelle con @?

Per quest'ultime dovrei inviare anzichè @01 0xFF01.

GRAZIEEEEEEEEEE

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6379
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:54
Lunedì, 10/09/2012
Non ho capito ... ma il codice che dovresti proporre qual è?

Con quale ciclo cerchi?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Onpin (Normal User)
Newbie


Messaggi: 6
Iscritto: 10/09/2012

Segnala al moderatore
Postato alle 15:03
Lunedì, 10/09/2012
Vi chiedo perdono della poca chiarezza: :-)

Devo popolare una campo (message_type) di un messaggio da inviare (message_item) con il Triletterale con l'istruzione:
---> memcpy(message_item->message_type, Triletterale , MES_TYPE_LEN);

Il Triletterale è un array di string2:
static _DSPByte Triletterale[8][4]={"ABC","AXT","ALP","PAC","REV","@01","@02","@03"};

Per quanto riguarda le Stringhe che cominciano con "@", dovrei popolare il message_type con 0xFF01 anzichè "@01", 0xFF02 anzichè "@02".....

Grazie:d




PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6379
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:08
Lunedì, 10/09/2012
Di che tipo è message_type e quanto vale la costante MES_TYPE_LEN ?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Onpin (Normal User)
Newbie


Messaggi: 6
Iscritto: 10/09/2012

Segnala al moderatore
Postato alle 15:13
Lunedì, 10/09/2012
Il message_type è un char [3]
e il MES_TYPELEN 3.

Thanks

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 15:16
Lunedì, 10/09/2012
quando trovi "@01" per esempio,
Codice sorgente - presumibilmente C/C++

  1. char es[] = "@01";
  2. char *t = malloc(sizeof(char)*6);
  3. // t = "      \n";
  4. strcpy(t, "0xFF"); // t = "0xFF   \n"
  5. //t + 4 offset
  6. strcpy(t+4, es+1);// es +1 perchè devo scartare la @
  7. //t = "0xFF01\n"


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6379
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:18
Lunedì, 10/09/2012
Allora subito dopo la linea memcpy basta una

Codice sorgente - presumibilmente Plain Text

  1. if(message_item->message_type[0]=='@')
  2.      message_item->message_type[0]=0xFF;


Ultima modifica effettuata da nessuno il 10/09/2012 alle 15:36


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo