gpt4 book ai didi

c++ - Fputc 在 if else 中不起作用

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

我想更改文件的一个值,但以下代码根本不起作用。当我删除 if 语句时它可以正常工作。
代码如下:

#include <stdio.h>

int main()
{
int b;
FILE *fp;

fp=fopen("new", "r+");
fseek(fp, 0x30, 0);

b = fgetc(fp);
if(b == 0x63)
fputc(0x64, fp);

fclose(fp);
return 0;
}

文件"new":c111111111c1111111111111111111111111111111111111c1111111111111111111

有什么细节我不知道吗?

最佳答案

如果它是 0x63,那么您已经写了一个过去 b,因为 fgetc 推进了文件流:

b = fgetc(fp);
if(b == 0x63) {
fseek(fp, -1, SEEK_CUR);
fputc(0x64, fp);
}

关于c++ - Fputc 在 if else 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10347778/

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