Salve a tutti sto scrivendo un programmino che legge da un file una serie di stringhe e le riscrive in un altro con l'ggiunta di doppi apici.
Il file in questione da cui devo leggere è strutturato così:
Codice PHP:
ciaogmsn.it
pippogyahoo.com
ciaogmsn.it
pippogyahoo.com
ecc.ecc....
Il file nuovo deve essere composto in questo modo:
Codice PHP:
"ciaogmsn.it"
"pippogyahoo.com"
"ciaogmsn.it"
"pippogyahoo.com"
ecc.ecc....
Il programma che ho scritto è questo :
Codice PHP:
#include <stdio.h>
int main(void)
{
char Lista[395][40];
int x, z;
FILE *Punt;
FILE *Nuovo;
if ( (Punt = fopen("MailingList.txt", "r") ) == NULL )
{
printf("Il file non è stato aperto !!!!\n");
}
else
{
while(!feof(Punt))
{
static int i = 0;
int j = 0;
while ( ( Lista[i][j] = fgetc(Punt) ) != EOF )
{
j++;
}
i++;
}
}
fclose(Punt);
Nuovo = fopen("Lista_Corretta.txt", "w");
for(x = 0; x < 395; x++)
{
fprintf(Nuovo, "\"");
for(z = 0; z < 40; z++)
{
fprintf(Nuovo, "%c", Lista[x][z]);
}
fprintf(Nuovo, "\"\n");
}
fclose(Nuovo);
system("PAUSE");
return 0;
}
Il problema è che non conoscendo la lunghezza dei caratteri delle stringhe ma solo il numero di esse (395) ho il problema con la lunghezza dell'array.
Per ovviare al problema ho creato la seconda dimensione di 40 che so che è il numero massimo di caratteri nella stringa ma quando faccio la fprintf mi genera un file con stringhe "quasi" concatenate di 40 caratteri ma la cosa più strana è che il programma è come se riuscisse a capire ugualmente dove mettere l' a capo a fine stringa nonostante tra i due apici ci siano 40 caratteri non appartenentio tutti alla stessa stringa.
Dateci un'acchiata grazie.