Schreiben eines Programms, das Daten aus der .dat-Datei zur Analyse einliest. Die Daten wurden nicht getrennt, so dass fgets benutzt wurden, um die unordentlichen Daten zu übernehmen und in Variablen zu speichern. Die Integer und Floats funktionieren gut, aber die Zeichenfolgen werden nicht ausgegeben.Dateiausgabe eines Arrays von Strings
fgets(tempfile, 8, DataFile);
strcpy(date_3[i], tempfile);
Die Daten liest in der Fein- und wird in einer globalen Variablen gespeichert
char date_3[33100][7];
Screenshot of data stored in i=0
Ich bin ein Teil der Ausgabe der Analyse einschließlich dieses Array von Strings vorbereitet. ich versuchte
FILE *Output;
Output = fopen("file", "w");
int i = 0;
for (i = 0; i < profile_count; i++)
{
fprintf(Output," %7s \n",date_3[i]);
}
fclose(Output);
Auch dies für die Schleife ohne Kompilierung
fprintf(Output," %7s \n", date_3[0]);
gibt das gesamte Array.
Insgesamt will es „1FEB73“ drucken
Wenn es das gesamte Array ausgibt, haben Sie wahrscheinlich kein Zeichenfolge-beendendes NUL-Zeichen an der rechten Position. Versuchen Sie, einen temporären Puffer zu erstellen, und kopieren Sie jedoch viele Zeichen in diesen Bereich und fügen Sie dann ein "\ 0" hinzu. –
@AustinHastings Auf das Geld. Konnte es lösen, indem Sie einfach die Variable zu Char-Datum ändern [33100] [8] –
@AustinHastings: Warum nicht eine Antwort machen? – alk