|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6758
|
[C] Lettura stringhe
Purtroppo ho dimenticato cose banali di base. Ho un file ASCII e vorrei leggere ogni riga e metterla in una posizione di un array di puntatori a carattere. Ma mi va in SigFault:
Codice:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
char str[128];
char*array_stringhe[256];
if((fp = fopen(argv[1], "r"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
int i=0;
while(!feof(fp)) {
if(fgets(array_stringhe[i], 128, fp))
printf("%s\n", array_stringhe[i]);
i++;
}
fclose(fp);
return 0;
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
I puntatori non si inizializzano da soli. Devi usare malloc e assegnare un po' di memoria ad array_stringhe.
ciao |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Esatto, ricorda di allocare e deallocare la memoria ogni volta che fai qualcosa di dinamico. Ed è un segfault, non sigfault.
ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:14.



















