Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    33

    [vc++]Problema stringa!![RISOLTO]

    Ciao ragazzi,
    ho un problemino con le stringhe. Vorrei passare ad un buffer dei dati in esadecimale ma quando vado poi a controllarne la lunghezza ho 8 caratteri anzichè 32...perchè?
    Allego il semplice codice:

    char buffer[256];
    memcpy(buffer, "\xA2\x13\x10\x91\x46\x0B\x81\x15\x00\x00\x00\x00\ x00\x00\x00\x00"
    "\xFF\xFF\xFF\xFF\xFF\xD2\x76\x00\x00\x04\x00\xFF\ xFF\xFF\xFF\xFF",
    32);

    len = strlen(buffer);

    printf("Buffer: %i\n",len);

    Grazie a tutti ciao ciao

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: [vc++]

    Originariamente inviato da giulio-g
    Ciao ragazzi,
    ho un problemino con le stringhe. Vorrei passare ad un buffer dei dati in esadecimale ma quando vado poi a controllarne la lunghezza ho 8 caratteri anzichè 32...perchè?
    Allego il semplice codice:

    char buffer[256];
    memcpy(buffer, "\xA2\x13\x10\x91\x46\x0B\x81\x15\x00\x00\x00\x00\ x00\x00\x00\x00"
    "\xFF\xFF\xFF\xFF\xFF\xD2\x76\x00\x00\x04\x00\xFF\ xFF\xFF\xFF\xFF",
    32);

    len = strlen(buffer);

    printf("Buffer: %i\n",len);

    Grazie a tutti ciao ciao
    Prima di tutto ... cambia titolo.

    Seconda cosa: ovvio che ritorna 8!! strlen() è fatta per operare su stringhe ... cioè su una sequenza di caratteri terminata dal carattere nullo ('\0').

    Quindi è sbagliato usare strlen. Vuoi sapere la lunghezza di un blocco di dati binari?? ...... non c'è una funziona apposita!!! Devi saperlo TU quanto scrivi/leggi!!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    33
    OK..grazie mille!!!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Re: Re: [vc++]

    Originariamente inviato da andbin
    Prima di tutto ... cambia titolo.
    Quoto. Aggiungo anche il link per il Regolamento, leggerlo non fa male.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.