[C] leggere da file per colonna

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Zifro
Prode Principiante
Messaggi: 2
Iscrizione: lunedì 2 maggio 2016, 22:00
Sesso: Maschile

[C] leggere da file per colonna

Messaggio da Zifro »

Buonasera community,
ho un dilemma che mi affligge ormai da qualche giorno...
Sto programmando in C e ho bisogno di leggere da un file del genere:
a b
c 1
e 4
ecc..
In poche parole ogni riga contiene due lettere o numeri separati da un tab.
Queste lettere o numeri dovrei immagazzinarli in un puntatore o in un array per colonna in modo da poter richiamare la singola lettera o numero.
Questa è la mia porzione di codice che tenta di far questo:

Codice: Seleziona tutto

char prova1[26], prova2[26];
FILE *fp = fopen("nome_file.dat","r");
if (fp==NULL) {
   printf ("La memoria non è stata allocata!\n");
   exit(0);
}
for (i=0; i<26; i++) {
  fscanf (fp, "%s\t%s\n", prova1[i], prova2[i]);
}
Questo codice mi da dei warning sui "%s" dell'fscanf.
Grazie in anticipo per le risposte, sono aperto a qualsiasi consiglio e/o critica sul codice.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [C] leggere da file per colonna

Messaggio da crap0101 »

quelli sono char o char* ?
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Zifro
Prode Principiante
Messaggi: 2
Iscrizione: lunedì 2 maggio 2016, 22:00
Sesso: Maschile

Re: [C] leggere da file per colonna

Messaggio da Zifro »

spider-net
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: martedì 11 maggio 2010, 17:38
Desktop: CWM
Distribuzione: FreeBSD 12.1

Re: [C] leggere da file per colonna

Messaggio da spider-net »

Puoi usare fgets() per leggere una riga dal file e poi usa strtok(riga, "\t") (o strtok_r) per isolare i singoli token.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [C] leggere da file per colonna

Messaggio da crap0101 »

era per indicarti che stai usano tipi e riferimenti errati nella scanf (char* vs char, int), in pratica cerchi di mettere una stringa nel posto di un carattere.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti