VC++读取txt文件指针的变化
来源:互联网 发布:哈萨维诺亚知乎 编辑:程序博客网 时间:2024/05/17 03:20
VC++在读取txt文本的时候,指针的位置是不断的变化的。是一点一点的向前推进的。在这个地方我们通过一个例子来分析VC++指针移动的情况,首先我们建立一个txt文本,并且在文本中输入一下面这些数据:
1 2 3 4 5 6 7
2 3 4 5 6 7 8
8 9 7 6 5 4 3
1 2 20 4 5 6 7
然后我们通过读取数据来看数据的变化,根据数字的变化来判断指针移动的情况:
源程序:
#include<iostream>
using namespace std;
int main()
{
FILE *fp=fopen("data.txt","r");
float b;
for(int i=0;i<10;i++)
{
fscanf(fp,"%f",&b);
cout<<b<<" ";
}
cout<<endl;
cout<<"此时指针位置"<<ftell(fp)<<endl;
float a;
for(int j=0;j<10;j++)
{
fscanf(fp,"%f",&a);
cout<<a<<" ";
}
cout<<endl;
cout<<"此时指针位置"<<ftell(fp)<<endl;
cout<<fseek(fp,2*sizeof(float),1)<<endl;
float c=0;
cout<<c<<endl;
fscanf(fp,"%f",&c);
cout<<c<<endl;
fclose(fp);
return 0;
}
输出结果:
1 2 3 4 5 6 7 8 2 3 4
此时指针位置21
5 6 7 8 8 9 7 6 5 4
此时指针位置43
0
0
20
Press any key to continue
根据输出的结果我们可以分析,当第一次读取文本内容的时候指针移动到第21个位置,接着当第二次从文本中读取数据的时候是从当前指针的位置进行移动,于是又往前移动了21个字节,指针位置变成了43.也就是说当我们使用fscanf的时候读取文件,指针是在往前移动的,并且当读取到该次读取的最后的时候,指针就停留在最后读取的位置,下次读取的时候回在当前的位置开始继续读取。ftell是高度我们们当前指针的位置,也是偏移位置,fseek是从什么位置让指针进行偏移。这就是这三个函数的作用
- VC++读取txt文件指针的变化
- vc 各种读取txt文件的方法
- VC读取TXT文件数值
- VC读取TXT文件数值
- txt文件的读取
- vc打开并读取txt文件
- VC读取TXT文件数据(1)
- VC中怎么读取.txt文件
- VC引用HTTP读取TXT文件
- vc++从txt文件中读取数据
- VC中怎么读取.txt文件
- 读取txt文件的内容
- 读取TXT文件的方法
- vc 读取txt
- VS2010软件开发平台的VC++项目——读取TXT文件的数据
- 读取raw文件下的txt文件
- fread读取指针时文件指针的变化
- 读取TXT文件,和生成TXT文件的方法
- eclipse插件link安装方式
- 数据挖掘十大经典算法
- android跨进程通信(IPC):使用AIDL
- Day 8(11.15):自定义函数和存储过程实训答案
- c++编译,头文件使用问题
- VC++读取txt文件指针的变化
- 访问Google
- Redis配置文件
- HDOJ 2602 Bone Collector 【0 1背包】
- 浅谈WebKit之WebCore篇
- visual studio 2013 远程调试配置实践
- hdu 5212(容斥)
- iOS 多线程编程技术--NSThread、Cocoa NSOperation、GCD
- GDAL源码剖析(一)