llgd.net
当前位置:首页 >> C++:FsEEk如果我想移到某一指定位置,比如把指针... >>

C++:FsEEk如果我想移到某一指定位置,比如把指针...

你得先计算出偏移量

取一行,然后不进行处理就是了 1 fsanf(fp, "%[^\n]\n ", buf); 或getline(fp, astring);读取一行,然后把这些数据废弃,文件指针就指向下一行了 2 fseek移动指针,移动到下一行的行首位置,然后读取就可以了。

写入之前先用 fseek 移动文件指针到文件尾。 下文摘于某文章: 前面介绍的对文件的读写方式都是顺序读写, 即读写文件只能从头开始,顺序读写各个数据。但在实际问题中常要求只读写文件中某一指定的部分。 为了解决这个问题可移动文件内部的位置...

你得讲清楚你的程序原来的目的是什么 文本文件很少用ftell,fseek的用法显然也有问题(第三个参数应该是宏SEEK_SET或者SEEK_CUR,而不是任何具体数值)

很简单,用C的标准函数atof 下面这个程序不能运行,因为没有isnumberic()这个库函数,你可以自己检验 #include #include #include int main() { int element[100]; char *str; std::cin>>str; if(!Isnumberic(str)) { std::cout

pfInOut.seekg(54,ios::beg); pfInOut为fstream类型;

fseek(fp,0,SEEK_END); 这样就可以了 nFileSize = ftell(fp); fseek(fp,0,SEEK_SET); 这样又移回来了

fseek是C的API,只能作用于FILE*。在C++里,要把fseek那一行改成: in.seekg(10, ios_base::beg);

你的程序是没问题的。 结果和你预期不一致主要是字符编码的问题,你打开文件的时候是以字符模式打开的,所以从文件中读取数据的时候会做一些转换(比如在Windows平台下换行包含两个字符\r\n,所以占用两个字节),这就是读取二进制信息的时候要...

返回值为负时,检查一下ferror(fp)的结果。

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com