【问题标题】:changing values in a file更改文件中的值
【发布时间】:2017-03-14 16:58:27
【问题描述】:

使用数据创建的文件

  • id名称数量成本
  • 1 本书 23 456
  • 2 笔 42 23
  • 3 玩具 76 28

在此我如何更改与每次编辑文件后选择的数量相关的值(成本)

#include<stdio.h>
#include<conio.h>

struct inventory
{
    int id;
    char name[30];
    int qty;
    double price;
} i[50];

void main()
{
    FILE *fp;
    int j,n;

    clrscr();
    printf("\n Enter number of recorrds");
    scanf("%d",&n);

    fp=fopen("inven.txt","a");
    if(fp==NULL)
    {
        printf("\n File cannot open");
    }

    for(j=0;j<n;j++)
    {
        printf("\n Enter spare part id");
        scanf("%d",&i[j].id);
        printf("\n Enter name");
        scanf("%s",i[j].name);
        printf("\n Enter quantity");
        scanf("%d",&i[j].qty);
        printf("\n Enter price");
        scanf("%lf",&i[j].price);
        fprintf(fp,"\n %d\t%s\t%d\t%lf",i[j].id,i[j].name,i[j].qty,i[j].price);
    }
}

void dummy()
{
    float *f1,f;
    f1=&f;
}

【问题讨论】:

  • 太可怕了!在我想看之前格式化你的代码!
  • 您是尝试使用正确的值写入文件一次,还是在值更改后稍后编辑文件?
  • 我想稍后编辑文件

标签: c file


【解决方案1】:

如果您想在文件中进行更改,则不应使用 fopen 的追加模式。

"r" - 打开文件进行读取。该文件必须存在。

"w" - 创建一个用于写入的空文件。如果已经有同名文件 存在,其内容被删除,该文件被视为一个新的空文件。

"a" - 附加到文件。写操作,在末尾追加数据 文件。如果文件不存在,则创建该文件。

"r+" - 打开一个文件以更新读取和写入。该文件必须存在。

"w+" - 为读写创建一个空文件。

"a+" - 打开一个文件进行读取和追加。

【讨论】:

    猜你喜欢
    • 2013-08-10
    • 1970-01-01
    • 2012-06-17
    • 2016-02-04
    • 2017-06-05
    • 1970-01-01
    • 2014-03-08
    • 2018-01-20
    • 2021-11-26
    相关资源
    最近更新 更多