Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [c] gestione file e \n\r a capo di windows?

    ragazzi praticamente un file mi si presenta cosi:
    [c=sta per carattere, i=intero]

    cccccccccccc ii
    cccccccccccc ii
    cccccccccccc ii
    [etc...]

    devo processare quelle inforamzioni in modo che riga per riga, la stringa ccccccc venga copiata in un stringa char myStr[13]; (i 12c + \0 = 13) e le 2 cifre ii in un variaible che può essere anche short del tipo unsigned short myValue;

    bene editando quel file su windows e scrivendolo a mano, alla fine di ogni riga avrò solo il \n oppure avrò il \n\r ( \r\n? )

    per leggerlo secondo voi va bene che uso il fgetc carattere per carattere andando a copiarmi le variabili in base a quando incontro lo spazio? (fino a EOF ovviamete)

    inizio a scrivere il codice intanto

  2. #2
    ok fatto funziona..

    l'unico problema è che non riesco a ritirare correttametne i numeri...

    per esempio quando arrivo al carattere 13 che sarebbe la prima cifra ( mettiamo caso che nel file sia scritto 2 )

    il fgetc ritira un int di 50... e se faccio:

    c = fgetc(fileStream);

    myShortValue = c;


    il myShortValue sarà appunto 50 e non 2.

    come posso fare?

    thx

  3. #3
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    se non sbaglio la fgetch() ritorna un unsigned char castato ad int.. quindi credo sia il suo codice ascii

  4. #4
    non mi sembra di vedere nessuna funzione fgetch :S

  5. #5
    vabene usado la funzioen fscanf ho risolto i problemi

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    -.-' vabbè ho messo un acca in più.. puntiglioso

  7. #7

    Re: [c] gestione file e \n\r a capo di windows?

    La soluzione con fscanf è la più adeguata, comunque per rispondere alla tua domanda:
    Originariamente inviato da xnavigator
    bene editando quel file su windows e scrivendolo a mano, alla fine di ogni riga avrò solo il \n oppure avrò il \n\r ( \r\n? )
    di base i file di testo su Windows hanno le righe terminate dalla sequenza CRLF (\r\n), ma aprendo i file in modalità testo in C la sequenza in questione viene convertita in maniera trasparente al programma nel semplice \n.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.