|
|
|
|
Bonjour,
Je voudrais juste savoir comment créé un fichier fichier.txt avec un petit programme en c, le plus simple possible, j'ai déjà chercher sur plusieurs forum mais la plupart explique comment ouvrir un fichier, mais je veux le créé. L'ouverture je verrais plus tard.
Merci d'avance
HalicardConfiguration: Ubuntu
Répondre à fiddy
|
Attention, pour afficher 20 caractères, il faut un buffer de 21.
#include <stdio.h>
int main(void) {
FILE *fp;
fp=fopen("data.txt","r");
if (fp==NULL) {
fputs("erreur d'ouverture\n",stderr);
return 1;
} else {
char buffer[21];
while(fgets(buffer,sizeof buffer,fp)!=NULL) {
int c;
puts(buffer);
while((c=fgetc(fp))!='\n' && c=EOF);
}
fclose(fp),fp=NULL;
}
return 0;
}
Cdlt Google is your friend |
Merci mais je ne comprend pas trop cette ligne la:
|
J'ai oublié de mettre le point d'exclamation ^^.
|
Hum.. ce code m'affiche quelque chose de bizarre.. un '9' , qui est le dernier caractere de ma 5 ème et dernière ligne..
|
Ah, je vois mieux ce que tu veux faire.
#include <stdio.h>
int main(void) {
FILE *fp;
fp=fopen("data.txt","r");
if (fp==NULL) {
fputs("erreur d'ouverture\n",stderr);
return 1;
} else {
int i=0;
char buffer[5][21];
while(i<5 && fgets(buffer[i],sizeof buffer[i],fp)!=NULL) {
int c;
char *p;
if ((p=strchr(buffer[i],'\n'))!=NULL)
*p=0;
else
while((c=fgetc(fp))!='\n' && c!=EOF);
i++;
}
fclose(fp),fp=NULL;
for (i=0;i<5;i++)
puts(buffer[i]);
}
return 0;
}
Google is your friend |
Merci pour ce code c'est exactement ce qu'il me fallait, par contre encore un petit souci comme d'habitude, le char buffer[5][21] je l'ai sorti de la fonction et je l'ai mis dans ma structure pour pouvoir utiliser ses ligne récupérer dans chacune de mes fonction.
|
Bon voila je reviens a vous, j'ai pas mal avancer mais encore un problème me viens.
|
Salut,
|
Mais en fait mon plus gros souci ce n'est pas de supprimer le \n de la fin, c'est surtout comment commencer a prendre le texte a partir du 21 caractères?
|