Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44

    [C] Uso di sscanf e stringa di formato

    Ciao a tutti!! Ho un problema con la funzione sscanf, più precisamente con la stringa di formato. Ho la seguente stringa: "01-02-2008 davide\#Bollo auto", io dovrei "separare" in tre stringhe la data, l'utente e la descrizione, quindi vorrei usare la sscanf("01-02-2008 davide\#Bollo auto", "formato", data, utente, desc) che deve produrre il seguente risultato:
    data = 01-02-2008
    utente = davide
    desc = Bollo auto

    Come deve essere la stringa di formato?

    Grazie

  2. #2
    Qualcosa del genere?
    codice:
    %10s %s\\#%s
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44
    Grazie, ma ho sempre lo stesso problema, non spezza l'utente dalla descrizione, cioè sembra non riconoscere il #.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44
    Scusate ho fatto un errore la stringa da "spezzare" è:

    01-02-2008 davide#Bollo auto

    (senza \ davanti a #)

  5. #5
    Secondo me la sscanf() non è la scelta giusta (in rarissimi casi lo è )
    In queste situazioni non si può fare a meno di 'sporcarsi' le mani.

    codice:
    	int i=11, p=0;
    	strncpy( data, stringa, 10);
    	data[11]=0;
    	while( stringa[i] && stringa[i]!='#')
    		utente[p++]=stringa[i++];
    	utente[i]=0;
    	if(stringa[i])
    		strcpy( desc, stringa+i+1);
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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.