gpt4 book ai didi

c - 为什么这段代码读取第 4 个字符之后的所有内容都是 ' '?

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:38 24 4
gpt4 key购买 nike

#define fileSize 100000 
int main(int argc, char *argv[]){
char *name=argv[1];
char ret[fileSize];
FILE *fl = fopen(name, "rb");
fseek(fl, 0, SEEK_END);
long len = fileSize;
fseek(fl, 0, SEEK_SET);
//fread(ret, 1, len, fl);
int i;
*(ret+fileSize) = '\0';
for (i=0; i<fileSize; i++){
*(ret+i)=fgetc(fl);
printf("byte : %s \n", ret);
}
fclose(fl);
}

在上面的代码中,当我提供一个 jpeg 文件的名称时,它会将第 4 个字符之后的任何内容读取为 ' '...有什么想法吗?谢谢!

最佳答案

这是因为 %s 正试图打印出一个字符串。它通过查找空字符(字节值为 0)来检测字符串的结尾。所以,它可能根本没有打印出一个空格,而是什么也没有打印出来,或者是一个空字符串,因为它遇到了一个值为 0 的字节。

关于c - 为什么这段代码读取第 4 个字符之后的所有内容都是 ' '?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589532/

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