请问VC++(MFC)中如何读取文本文件?

需要有具体代码,要求如下:1.文本文件事先已经存在其中存储的是整型数据,格式可自己设定,但要清晰,如1(回车)1(回车)1(回车)。。。2.读取出来的数据只需要数值1,并... 需要有具体代码,要求如下:
1.文本文件事先已经存在 其中存储的是整型数据,格式可自己设定,但要清晰,如1(回车)1(回车)1(回车)。。。
2.读取出来的数据只需要数值1,并且将其存到相应的int型数组中
3.此数组每个数据加上另一数组的值(可能会很大,几十万的)以后再以int型数据存储到原来的文本文件中,格式不变(以备下次仍按1来读取)

谁有可行的代码,帮忙发一下吧,谢谢,在线等
如果该文本文件格式如num1=21(回车) num2=43(回车)。。。该怎么读取此文本文件并把等号后面的数值提取出来
展开
 我来答
保晏然2Q
2009-05-05 · TA获得超过1053个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:521万
展开全部
代码懒得写 给你个大概的思路
在MFC下读取和写入文本可以用CStudioFile类对象,比用C读简单,它的参考资料如下:
******************************************************************

CStdioFile类成员

数据成员:
m_pStream 包含了一个指向打开文件的指针

构造:
CStdioFile 从一个路径或文件指针构造一个CStdioFile对象

文本读/写 :
ReadString 读取一行文本
WriteString 写一行文本

一个CStdioFile对象代表一个用运行时函数fopen打开的C运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。
文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile对象时,字节对(0x0A,0x0D)被发送给该文件。当你读一个文件时,字节对(0x0A,0x0D)被翻译为一个字节(0x0A)。
当你读一个文件时,字节对(0x0A,0x0D)被翻译为一个字节(0x0A)。
CStdioFile不支持Duplicate,LockRange,和UnlockRange这几个CFile函数。如果在CStdioFile中调用了这几个函数,将会出现CNoSupported异常。
有关使用CStdioFile的更多信息,参见“Visual C++程序员指南”中的文章“MFC文件”,和“Microsoft Visual C++库参考”中的“Microsoft Visual C++ 6.0运行库参考”。
#include <afx.h>

**********************************************************************
文本文件的格式类似:1(回车) 2(回车)....
也就是一个数据一行
因为CStudioFile类读取文件时是一行一行读取的
将一行的内容读取到CString类对象中
然后再用CString函数的Format函数,将数字字符串格式化成整型数据并附给整型变量,这样就可以了

对数据处理后再写到源文件中时过程恰好相反(写数据时别忘了写回车符,"\r\n"或者"\n",具体哪个有用我忘了) 我就不多说了
SK_GOD_KISS
推荐于2016-07-15 · TA获得超过143个赞
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
假设你的是TXT 文件 。
用C读,没问题的 。 你在stdafx.h中加上“stdio.h”。

#include<iostream>
#include "stdio.h"

using namespace std;
void main()
{
int data[10000];
int temp=29393;
int dex=0;
int Row =0;
FILE * fp;
fp = fopen("1.txt","a+");
if(NULL == fp) {cout<< "error open the file" ; }
else
{

char charTemp;
while((charTemp=fgetc(fp))!=EOF)
{
if( charTemp == '\n') Row++;
}
fp = fopen("1.txt","a+");
rewind(fp); //将指针移动到开始

for(int i=0;i<Row;i++)
{
fscanf(fp,"%d",data+dex);
dex++;
}

}//读取值

for(int i=0;i<Row;i++)
data[i] = data[i]+ temp ; //...你在这里修改值

fp = fopen("1.txt","w+");//将文件清空
fp = fopen("1.txt","a+");//将文件打开

for(int j=0;j<Row;j++)
fprintf(fp,"%d\n",data[j]);
fclose(fp); //OK 了

}// 记得建代码同级目录下建一个 1.txt . 写几个数字,
// exm
// 1.txt

// 1
// 1
// 1 ( 这里加个换行建)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式