Language C

viboe -  
 viboe -
Bonjour,
J'essaie de faire un programme en language C mais cela fait longtemps et je n'arrive pas à faire la fonction file *nomfichier; il me dit déclaration syntax erreur , est-ce normal? je me remet à la programmation pour essayer de me faire un programme à partir d'un fichier.
Merci,
Vincent

14 réponses

mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
c'est FILE en majuscule
0
viboe
 
J'ai essayé:
En fait j'ai un fichier txt et je voudrais déjà pouvoir le lire et l'écrire gràce au programme C mais p ê qu'il ne fonctionne plus correctement.
Merci pour la réponse,
Vincent
0
viboe
 
Ce message ne vous semble pas utile, votez !Signaler ce message aux modérateurs Par viboe, le samedi 23 février 2008 à 01:40:04

#include <stdio.h>
char t;
int open(char tc,int r);
char resultat;
main()
{
FILE *tc;
resultat=getchar();
putchar(t);
printf (t);
}
0
viboe
 
J'aimerais savoir :
avec un fichier txt 'je m'appelle Vincent', le lire avec le programme C et pouvoir le réécrire sur un autre fichier. Cela fait 4 ans que je n'ai plus fait de programmation. Si qqun peut m'aider pour me réinitier, merci.
Vincent
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
tu peux nous poster ton programme pour qu'on puisse mieu voir le probleme
0
viboe
 
#include <stdio.h>
char t;
int open(char tc,int r);
char resultat;
main()
{
resultat=getchar();
putchar(t);
printf (t);
}
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > viboe
 
Salut,

Déjà, faut éviter les variables globales.
Sinon pour ouvrir un fichier en lecture et écriture :
#include <stdio.h>
#include <stdlib.h>

int main(){
   FILE *fp;
   
   fp=fopen("./fichier.txt","a+");
   if(fp==NULL) {
       puts("erreur lecture fichier");
       exit(-1);
   }

   return 0;
}


Cordialement
0
viboe > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Je n'ai pas d'erreur mais rien ne se passe, je met du temps à encoder le programme car je dois rechercher les caractères car ils sont différents, j'aimerais en effet pouvoir lire un simple fichier txt et l'écrire, est-ce compliqué? Merci
0
viboe > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Si tu as du temps, je veux bien t'envoyer le fichier code C et le fichier txt, c'est un test, le fichier txt que je dois traiter est bcp plus grand et plus de manip. Si cela te dit, tu peux me donner une adresse Email

_)
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
heu..je vois que tu as beaucoup d'erreur tu veux faire quoi exactement ?
0
viboe
 
Compliqué à expliqer mais ce que tu m'as donné ne me fait pas d'erreur mais j'aimerais écrire les caractères du fichier avec le pgm C, thanks
0
viboe
 
Si je pouvais utiliser la souris en dos, je pourrais faire du copie/coller et te montrer mais j'ai oublié aussi comment on fesait
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > viboe
 
Re,
C'est moi qui ait écrit le code, pas mype lool. :p
Sinon voici le code pour écrire dans le fichier :

#include <stdio.h>
#include <stdlib.h>

int main(){
   FILE *fp;
   char chaine[250];

   fp=fopen("./fichier.txt","a+");
   if(fp==NULL) {
       puts("erreur lecture fichier");
       exit(-1);
   }
   puts("entre ta chaine : ");
   if(fgets(chaine,250,stdin) != NULL){
       fprintf(fp,"%s",chaine);
   }

   return 0;
}
0
viboe > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci bcp,
J'ai bien fait le prgm, pour le compile pas d'erreur mais pour le run undefined symbole fprint?

zut alors, je pensais avoir réussi,
Bàt
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > viboe
 
Ce n'est pas fprint, mais fprintf.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
viboe
 
Un grand mercdi, j'ai bien avancé mais il me met 'ma chaine de caracteres est' sans plus. En tout cas pas d'erreur je suis sur la bonne voie,
0
viboe
 
/* HELLO.C -- Hello, world */

#include <stdio.h>
#include <stdlib.h>
int null=0;


int main()
{
FILE *tc;
char t[250];
tc=fopen("./tc.txt","a+");
if(tc==null)
{ puts("erreur lecture");
exit(-1);


}

puts("entre ta chaine : ");
if(fgets(t,250,stdin) ==!null) {
fprintf (tc,"%s",t);
}



return 0;
}
0
viboe
 
Quelqun aurait-t-il une idée pq mon programme ne me donne pas les caractères du fichier?
Pour rappel, j'ai un fichier txt, tc et je voudrais qu'il écrive les caractères du fichier txt,
Merci,
Vincent
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Pourquoi tu as fait int null=0; ?
Dans mon code, je t'ai mis if(fgets ... != NULL); il n'y a pas de fautes. NULL est bien en majuscule, et c'est bien une constante déjà définie.

Sinon je ne comprends pas très bien ton problème.
0
viboe
 
J'ai corrigé, ce qui ne fonctionne pas, c'est qu'il ne m'écrit pas les caractères du fichier txt.
Il me met : entre ta chaine et c'est tout.
Thks
0
viboe
 
Personne ne voit pourquoi mon programme ne fonctionne pas?
C'est très ennuyant, merci
Vincent
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Le programme que je t'ai donné te permet d'écrire dans ton fichier, et pas de lire.
Si tu veux lire :
fgets(t,250,fp); //pour mettre la première ligne de ton fichier dans la chaîne t.
printf("%s",t); //pour afficher la chaîne t.

Si tu veux lire plusieurs lignes, tu fais une boucle avec fgets() et printf().

Cordialement
0
viboe
 
Merci bcp,
Dois-je définir fp car il me note undefined
Rgds
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Pardon, tu mets tc plutôt. J'ai mis fp car c'était fp que j'avais mis dans mon exemple, mais vu que tu as mis tc à la place...
0
viboe
 
Génial,
Merci, maintenant je vais continuer, le fichier fait 50 pages et à chaque fois qu'il rencontre 2 espaces ou plus, il doit les remplacer par ;
D'ailleurs remplacer un espace par un point virgule? Enfin j'ai un livre sur C, j'espère bien trouver.
Thks,
Rgds
0
viboe
 
J'aimerais encore savoir comment je pourrais écrire les caractères du fichier txt dans un nouveau fichier.
Je créé un fichier vide et j'écrit dedans avec fprintf?
Thanks,
Vincent
0
viboe
 
Voilà il me manque encore une chose pour réaliser mon programme, je voudrais écrire a dans un fichier appelé a:
Voici mon code:
/* Ecrire a dans un fichier */

#include <stdio.h>
#include <stdlib.h>


int main()
{
FILE *a;
char t[250];
a=fopen("./a.txt","a+");
if(a==NULL)
{ puts("erreur lecture");
exit(-1);
}

puts("va voir dans le fichier a : ");
if(fgets(t,250,stdin) ==!NULL) {
fprintf (a,’a’,t);

}
return 0;
}

J'ai repris la 1ere procédure, il me manque qque chose? Après je pense que je devrais pouvoir réussir. Thanks Bàt
0
viboe
 
Rebonsoir,

Mon code fonctionne correctement, il me manque une chose quand je voudrais qu'il ignore le caractère 'a', il ne le fait pas et il écrit le 'a' avec les autres caractères, hors je ne voudrais pas.
Merci de votre aide/

/* HELLO.C -- Hello, world */

#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *tc;
FILE *sortie;
int j,i=0;
char v,n,t[250],nomfic[21];

char lectureok;
printf("fichier?");
scanf("%s",nomfic);
sortie=fopen(nomfic,"w");

tc=fopen("./tc.txt","a+");
if(tc==NULL)
{ puts("erreur lecture");
exit(-1);
}

puts("voil… les caracteres du fichier : ");

for (j=0;j<15;j++) {
fgets(t,j,tc);

if(t[j]!='a')

printf("%s",t);

fprintf(sortie,"%s",t);

}

return 0;
}
0
viboe
 
Personne ne veux répondre? Le but du programme, il lit un fichier et l'écrit ensuite. Thanks
0