gpt4 book ai didi

c++ - 如何使用 C 修改文本数据文件中的值

转载 作者:行者123 更新时间:2023-11-30 20:41:30 25 4
gpt4 key购买 nike

while(!feof(fp)) 
{
fscanf(fp,"%d %s %d %d",&res[i].id,res[i].title,&res[i].price,&res[i].qty);
i++;
}
while(j<i)
{
printf("\nID:|%d|\tNAME:|%s|\tPRICE:|%d|\tQTY:|%d|",res[j].id,res[j].title,res[j].price,res[j].qty);
j++;
}

我有这段代码正在从文件中收集数据。现在我想知道是否从像 res[id] 这样的用户那里获取输入,并且我想减少该特定 id 的数量,该怎么做?

最佳答案

如果文件是二进制格式,则更容易执行您想要的操作。

文本格式和二进制格式有什么区别?如果文件以二进制格式写入,则32位整数将在文件中表示为32个连续位。在文本格式中,数字将表示为数字序列,例如 32

那么这个差异有什么大不了的呢?如果您将 32 替换为 1243,在二进制格式中,该数字仍将采用相同的 32 位,因此无需移动任何其他内容,您更改的只是这 4 个字节。而在第二种情况下,您再添加 2 位数字,这将导致文件的所有后续内容移动两个字节。

为了根据需要移动所有内容,您需要读取文件的当前内容更改值,然后将内容写回。我的意思是您所做的更改之后的所有内容。

关于c++ - 如何使用 C 修改文本数据文件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14005112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com