main(void){
le *fp;//定义文件指针
if (fp=fopen("d:\1.txt","a")==NULL){//判断文件是否可读(存在),如果不存在在 d 盘创建文件
printf("press any key exit!");
getch();
exit;
}//退出程序
for (i=0;i<N;i++)
fprintf(fp,"%d",a[i]);//将数组 a[]中整型数据输入 txt
fcloce(fp);//关闭文件
}
在 VC++应用程序中读取文本数据
我们通常把数据存诸在 txt 文件上,但是我们通常要把这些数据取出来并进行
处理。下面我将介绍一种在 VC++应用程序中读取文本数据的方法。
一。前言
因为经常要处理地质方面的数据。但是很多数据它不是直接存贮在数据库
文件(如 Access 文件等),而是存贮在 txt 文件。经常有同学问我怎么通过编
程读取实现文本文件中的数据。其实存贮在 txt 文件也有它的好处,不像读取
Access 文件那样要注册数据源,设置比较麻烦,编写读取程序也比较复杂。
二。程序原理
首先我们知道假如要进行的文件操作只是简单的读写整行的字符串,那么
最好使用 CStdioFile,用它来进行此类操作非常方便。因此我们便很自然想到 :
首先我们把文本文件的每行数据读到一个缓冲区,然后使用 sscanf 把它转化为
字符格式。
那么具体该怎么做呢?比如在一个 txt 文件里每一行数据格式是这样的:
A1 A2 A3 A3 ……An
那么读取的主体代码是:
CStdioFile File; // 定义一个 CStdioFile 类变量 File
CString FileData; // 定义一个 CString,作为一个缓冲区
/*定义 n 个临时字符串变量,大小依据实际情况,这里暂设为 10
*/
char TempStr1[10],TempStr2[10]……TempStrN[10];
File.ReadString(FileData); // 将一行数据读到缓冲区
/*将该行数据的 n 个字符读到 n 个临时字符串变量*/
sscanf ( FileData , "%s %s %s %s ……
%s",TempStr1,TempStr2……TempStrN);
这种读法的一个好处是对文本格式要求不严,如下面的格式也可以(前面
可有未知个空格) A1 A2 (两个数据之间也可有未知个空格) A3 A3 ……An
三。编程步骤
下面我以一个单文档程序来具体说明我的做法。该程序的主要功能是读取
文本文件的坐标数据,然后在客户区里用直线将这些坐标连起来,并显示。
1、 启动 Visual C++6.0,生成一个单文档的工程,将该工程命名为
ReadCoodinate.
评论0