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ì:
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:"ciaogmsn.it"
"pippogyahoo.com"
"ciaogmsn.it"
"pippogyahoo.com"
ecc.ecc....
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.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;
}
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.

Rispondi quotando