c中无法读取或写入文件

时间:2018-04-15 12:11:05

标签: c

我应该制作一个程序来编写,修改,删除和搜索联系人列表。我们还没有研究过文件,但我们应该尽快完成。我尝试了一切,但我不能修改或删除或搜索。你能帮助我吗?这是我的代码:

我尝试将文件读入一个结构,所以我可以将它用于其他函数,但不知何故它不会读取,因为当我尝试其他函数或在结构中搜索某些东西时,该函数找不到它

fichier=fopen("liste contact.txt","r");   
 if (fichier!=NULL)
    {fichier=fopen("liste contact.txt","a+");
        while (c=fgetc(fichier)!=EOF)
        { for (i=0;i<n;i++){ 
        fscanf(fichier,"%s %s %s %d %s", &newcon[i].id,&newcon[i].prenom,&newcon[i].nom,&newcon[i].tel,&newcon[i].adr);}
        }   fclose(fichier);}           
    else {fichier=fopen("liste contact.txt","w");
    }

在修改中,我尝试写入文件。但它不会写任何东西,除了新名称或我在这里修改的其他内容。其他每个值都是空的

for (i=0;i<=n;i++)
    {
    if (id==newcon[i].id)
    {cn=i;}             }                 
 if (cn!=0)
 {

   switch(d) {
      case 1 :

         printf("         Donnez le nouveau nom: \n --->"); scanf("%s",&newcon[cn].nom);
for (i=0;i<=n;i++)
    {fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
         break;
      case 2 :

           printf("         Donnez le nouveau prenom: \n --->"); scanf("%s",&newcon[cn].prenom);
      for (i=0;i<=n;i++)
    {fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
     break;
      case 3 :

         printf("         Donnez le nouveau Email: \n --->"); scanf("%s",&newcon[cn].email);
      for (i=0;i<=n;i++)
    {fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
       break;
      case 4 :

           printf("         Donnez la nouvelle adresse: \n --->"); scanf("%s",&newcon[cn].adr);
        for (i=0;i<=n;i++)
    {fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
          break;
      case 5 :

          printf("         Donnez le nouveau numéro de telephone: \n --->"); scanf("%d",&con[cn].tel);
         for (i=0;i<=n;i++)
    {fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
        break;
      default :
       Beep(3000,900);  printf("L'action que vous demandez n'existe pas, réssayez!" );
 }  }fclose(f2);}

0 个答案:

没有答案