Ich habe eine Textdatei, die wie folgt aussieht:Lesen und Speichern von ints mit scanf in C
1 2 4
3 5 2
9 7 6
4 2 6
einer unbekannten Größe bis zu 50 Linien.
Ich versuche, die Ints in einem Array von struct zu speichern
typedef struct column{
int col_1;
int col_2;
int col_3;
} column;
ich das Array von stuct Spalte erstellt haben
column column[50];
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE * myfile;
int i = 0;
if ((myfile = fopen("/home/numbers.txt","r"))==NULL)
{
printf("File %s not found\n", "/home/numbers.txt");
exit(0);
}
if ("/home/numbers.txt" == NULL)
{
printf("There was an error reading %s", "/home/numbers.txt");
}
while(fscanf(myfile,"%d %d %d", &column[i++].col_1, &column[i].col_2, &column[i].col_3) == 3)
{
printf("\n%d %d %d", column[i].col_1, &column[i].col_2, &column[i].col_3);
}
ich eine Liste von Zahlen wie diese
-420921 -420924 -420927
erhalten
Es scheint einige Speicheradressen zu sein, weil sie offensichtlich nicht die tatsächlichen Zahlen sind.
Mein Problem ist das Holen der INTS eher als einige ziemlich zufällige Zahlen, ich habe versucht & vor den Variablen in der printf, und das hat nicht funktioniert, und umgekehrt.
Ihre Hilfe würde sehr geschätzt werden.
Argumente funktionieren und Bestellung: http://stackoverflow.com/questions/4401104/strange-printf-behaviour –