gpt4 book ai didi

c - putc() 写入错误数据

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:56 25 4
gpt4 key购买 nike

int writeFile(FILE * handle, char * data, int len)
{
fseek(handle, 0, SEEK_SET);
for(int i=0; i <= len; i++)
putc(data[i], handle);
}

当我调用这个函数时,它工作正常,但是如果 char * data 上有一个 0x1A 字符,它将写入无数个 0xFF。这是为什么?

最佳答案

十六进制 0x1A 也称为 Control-Z。

在 Windows 上(好吧,DOS 起源于它),文本文件通过在文件中嵌入一个 control-Z 来指示 EOF。

如果要写入二进制数据,请确保输出文件是作为二进制文件打开的。如果将其作为文本文件打开,则仅输出文本(这意味着控制字符非常有限;可能只是制表符和换行符,系统会处理 CRLF <--> LF 映射)。

关于c - putc() 写入错误数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780057/

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