首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于linux下的fread函数,该怎么处理

2012-06-05 
关于linux下的fread函数FILE *filefopen(F:\\IP地址.txt,r)if(!file){cerrerror!endl} char

关于linux下的fread函数

FILE *file=fopen("F:\\IP地址.txt","r");
  if(!file)
{
cerr<<"error!"<<endl;
}

char buf[50000];
memset(buf,0x00,sizeof(buf));

   
  fread(buf, sizeof(buf),1, file);
cout<<buf<<endl;


这个在windows下编译正常
在linux下出现“段错误",但是只要把
fread(buf, sizeof(buf),1, file);
改成fread(buf,8,1,file);
则可以读8个字节
那要怎么改才能读取整个文件的内容??

为什么在linux下会出错呢

[解决办法]
如果sizeof(file)的话,就显示段错误,将sizeof(file)改成8
=========================
sizeof(file) ??
[解决办法]
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待

fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了

热点排行