Je dispose d'un fichier texte qui ressemble à ceci:lecture et le stockage ints avec scanf en C
1 2 4
3 5 2
9 7 6
4 2 6
d'une taille inconnue jusqu'à 50 lignes.
Je suis en train de stocker les ints dans un tableau de struct
typedef struct column{
int col_1;
int col_2;
int col_3;
} column;
J'ai créé le tableau de la colonne de stuct
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);
}
Je reçois une liste de numéros comme celui-ci
-420921 -420924 -420927
Il semble qu'il y ait des adresses de mémoire, car ce ne sont évidemment pas les numéros réels.
Mon problème est le get les ints plutôt que certains nombres plutôt aléatoires, j'ai essayé & avant les variables dans le printf, et cela n'a pas fonctionné, et l'inverse.
Votre aide serait grandement appréciée.
liés à la fonction des arguments et commande: http://stackoverflow.com/questions/4401104/strange-printf-behaviour –