Language C : Copie du contenu d'un fichier da

Fermé
Selaste Messages postés 3 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009 - 10 juin 2009 à 10:30
Selaste Messages postés 3 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009 - 10 juin 2009 à 11:18
Bonjour, je souhaiterai copier les entiers d'un fichier dans un tableau.
Le fichier étant exclusivement composé d'entier.
Je sais que cette question peut paraître extremement bidon mais j'en ai besoin pour la résolution d'un exercice et je n'arrive pas du tout à la faire ....
Merci de bien vouloir m'aider, bonne journée.

début d'idée ( je sais pas si cela peut aider et j'espère ne pas être trop à côté de la plaque ... ) :

int *file2Array(char* Fichier1) // fonction qui copie les éléments d'un fichier dans un tableau.
{
FILE*F1;
char *tableau[n];
int i;
F1=fopen(Fichier,"r");
fread(tableau[n],sizeof(int),n,F1)
...

2 réponses

Selaste Messages postés 3 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009
10 juin 2009 à 10:42
complément d'information : J'ai pour exercice : Ecrire une fonction qui prend en paramètre le nom d'un fichier et une valeur entière, et insère cette valeur dans le fichier en gardant le fichier trié.
Pour cela j'ai eu l'idée de créer les fonction :

int *file2Array(char* Fichier1) => qui copie les éléments d'un fichier à un tableau.

void array2File(char* Fichier1,int *TabInt) => qui copie les éléments d'un tableau dans un fichier.

void insert2Array(int *TabInt, int Val) => un mix des deux fonction précédente plus un algorithme récursif pour trouver ou placer la valeur.

Mon problème étant que je suis relativement nule en C, surtout que je n'ai encore jamais approcher l'utilisation de fichier ( ouverture, copier, fermeture, ... ). Je pensai donc pouvoir me débrouiller si quelqu'un pouvai m'expliquer comment programmer la première fonction.
0
Selaste Messages postés 3 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009
10 juin 2009 à 11:18
Voila la fonction à laqu'elle j'ai pensé :

int *file2Array(char* Fichier1)
{
FILE*F1;
int t1[taille];
int i;
F1= fopen("Fichier1", "r" );

if(F1==NULL)
{
fprintf(stderr,("Erreur ouverture fichier\n" ));
exit(-1);
}
for ( i =0 ; i < taille; i++ )
{
fread(void*bloc,sizeof(int),1,F1);
fscanf(F1,"%d", &t1[i]);
}
fclose(F1)

J'ai par contre un problème pour remplir dans la fonction fread, je ne sais pas quoi mettre dans la partie void*bloc. Si quelqu'un pouvais m'aider ce serais super :)
0