gpt4 book ai didi

c - fprintf() 和 fread() 在 .txt 文件中的用法

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

如果我使用

fprintf(fp, "%d", 1);

要写入 txt 文件,文件的内容是十六进制值 1 还是 31? (“1”的 ASCII 值)

另外,fread()函数到底是如何读取数据的?我有一个 2 个字节的文件,十六进制值分别为 32 和 33。这是我的代码:

struct S {char a,b;} x; 
FILE *f = fopen("F.TXT","rb");
if (f) {
fread(&x,1,sizeof(x),f);
printf("1:%c\n", x.b);
printf("2:%c\n", x.a);
}

输出如下:

1:3
2:2

这是为什么?

最佳答案

回答OP的第一个问题:

鉴于此声明:

fprintf(fp, "%d", 1);

文件的内容将是一个包含以下内容的字符:

0x31

这是 ASCII 字符的十六进制值:1

关于c - fprintf() 和 fread() 在 .txt 文件中的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46282955/

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