【发布时间】:2017-12-08 20:35:10
【问题描述】:
该代码应该将它在 fileReceived 中获得的任何数据附加到 a.txt 文件中,但它会填充随机值。(当然也不是那么随机,但绝对不是正确的值)。我错过了什么吗?
File *fp;
fp = fopen("a.txt",+a);
while(1)
{
fileReceived =...// getting char array of 1024 size
fwrite(fileReceived,1,sizeof(fileReceived),fp);
if(padding!=0)
{
fclose(fp);
break;
}
}
【问题讨论】:
-
谁在设置填充?你在哪里定义 fileReceived ?
-
sizeof(fileReceived)可能不是 1024 而是指针的大小。 -
你已经隐藏了重要的部分:fileReceived =...// 获取 1024 大小的 char 数组
-
检查我的答案。
sizeof()不适用于动态分配的数组。