关于C语言中,fwrite函数和fread函数的问题

while( fread(&c1,1,1,pfr) )
{
fwrite(&c1,1,1,pfw);
}
上面是将pfr地址中文件的内容拷贝到pfw吗?
while括号中的内容是什么意思,什么时候终止循环? 在循环一次后第二次执行fwrite(&c1,1,1,pfw); pfw+1吗?
将链表写入文件的函数
int listToFile(const char *fileName,Node *pHead)
{
FILE *ji_fileName = fopen(fileName,"wb");
while(pHead != NULL)
{
fwrite(pHead,sizeof(Node),1,ji_fileName);
pHead = pHead->pNext;
}
if(pHead == NULL)
{
printf("链表写入文件成功\n");
}
fclose(ji_fileName);
return 1;
}
这样写对吗?

第1个回答  2013-10-12
上面是将pfr地址中文件的内容拷贝到pfw吗?
是的
while括号中的内容是什么意思,什么时候终止循环?

fread()在读不到数据时返回0,此时终止循环

在循环一次后第二次执行fwrite(&c1,1,1,pfw); pfw+1吗?
是的,只要你打开文件描述符循环往里面写东西,指针是随着往后移的,确保不会被覆盖
写入链表应该没问题
相似回答