vc++-VC++ 6.0文本文件分行读取MFC读文件的问题

问题描述

VC++ 6.0文本文件分行读取MFC读文件的问题

VC++ 6.0文本文件分行读取,怎么样返回上一行,getline怎么才能往前读取行呢?

解决方案

vector string;
ifstream inout;

inout.open(文件名,ios::in);
while(inout.getline(nextline, sizeof(nextline)))
{
temp_str = nextline;
v.pushback(temp_str);
}
inout.close();
inout.clear();
先一次性读取到内存,然后通过下标读取

解决方案二:

首先要知道当前行的字符个数x,上一行的字符个数y,然后使用fseek()函数从当前位置往后移动x+y个字符,然后再getline就可以读上一行数据了

解决方案三:

缓存读到的内容啊,再取就容易了

解决方案四:

我想你的思路很乱!
方法一:不管是使用MFC::CFILE 还是C++的fstream去读取文件,其实思路都是一样的。至于你说的读取了一行后返回上一行的问题,我提供的思路如下:
在打开文件后,你每读取一行,就会用一个变量去接受读取到的内容(getline的第二个参数)。比如说while(getline(ifstream fin,string temp)),在这里是temp保存了你的内容。当你读取的是第一行,那上一行的内容肯定是目前读取位置减去temp.length()后的位置,此时为_ios_base::beg(文件起始位置)
;接下来读取的行的时候,你想保存这一次读取到的位置,用一个变量标记,比如说是flag,那么当你读取完这一行,要反会上一行的位置时候,你返回flag

就行了!这里用一个迭代直到读取到文件的末尾,你都可以正确的返回到上一行的位置

方法二:将内容读取到内存中去,比如你用一个vector来保存你读取出来的所有行的内容,vector中的任何一个元素对应一行,然后你
只要像操作数组一样操作vector就行了。

时间: 2024-11-02 09:53:04

vc++-VC++ 6.0文本文件分行读取MFC读文件的问题的相关文章

vc.net(托管)中使用mfc方便吗

问题描述 vc.net(托管)中使用mfc方便吗?.net做界面快,mfc底层功能强大,两个都想要,咋办? 解决方案 解决方案二:mfc搞界面快我相信搞底层的话还不如直接用api+stl方便解决方案三:你还是研究一下C++CLI吧,据说是专门为了满足你说的要求而开发的.解决方案四:VC.net是向下兼容的,对MFC的支持也很大呀.你在VC.net中使用MFC一点问题都没有,只是需要看一下字符集和语法定义之间的区别罢了.

用vc++或java每隔一段时间读取一个日志文件(这是一个电话语音接听日志文件,文件内容在随时的增加)后提取有效数据到数据库中

问题描述 用vc++或java每隔一段时间读取一个日志文件(这是一个电话语音接听日志文件,文件内容在随时的增加)后提取有效数据到数据库中,怎么做到从上次读取文件的位置,也就是行数,开始下次的读取.大家知道,java和vc++是通过while()循环来读取文件,我当时的做法是记录上次while()的循环次数,下次读取时先空循环上次记录的行数,然后开始真正的读取文件.看看大伙有没有更好的办法. 解决方案 解决方案二:randomaccessfile+上次读取位置解决方案三:引用1楼inhibitor

mfc-VisuaC++6.0编程系统,MFC语言

问题描述 VisuaC++6.0编程系统,MFC语言 VisuaC++6.0编程系统,MFC语言,请问如何把网盘上的文件下载到虚拟驱动器中?又如何实现上传?谢谢 解决方案 VC++下可以使用inet库.

从文本文件中读取信息并存储入数据库

数据|数据库 ''===================================================================''从文本文件中读取信息,取其中的一部分,并且将其插入到数据库中去--'' xhony@163.com'' version 1.0''===================================================================<% dim fso,f1Const ForReading = 1 set fs

c++-C++ 文本文件的读取问题

问题描述 C++ 文本文件的读取问题 请问怎样将大学英语B 4.0 2.67 高等数学下 6.0 3.67 离散数学上 2.5 3.67 金工实习 1.0 3.33 思修 3.0 3.33 普通物理实验上 1.5 4.00 普通物理上 4.0 3.67 程序设计实训 1.0 3.33 这种类型的数据分别读取到class Course{public: char name[20]; float credit; float mark;}courses[N];这种类的每个成员变量中. 解决方案 你这个是

vc vc++ vc++.net 谁给我解释一下.

问题描述 RT 解决方案 解决方案二:没有多大区别,VC和VC++是一个概念,VC.NET就在.NET环境下进行VC的开发,相当于VC7.0,功能上的差别并不是很大.这是我个人的认识,不知道正确与否,希望有知道清楚的人可以解释的更好一点.解决方案三:vc==vc++支持ISO/ANSI标准c++vc.net==vc++.net支持ISO/ANSI标准c++同时支持c++/CLI新版c++(专门为.NETFramework开发)

用C语言实现从文本文件中读取数据后进行排序的功能_C 语言

功能介绍 程序的功能是从外部读取一个包括int型数据的文本文件,然后将它保存到内部临时数组,对数组进行排序后,以文本形式输出到指定的文件上.因为是int类型的数据,没有很严重的损失精度的问题. 正常运行要求: 包括数据的源文件内不能包括其他任何除数字和空白字符(空格,制表符,换行符)之外的任何字符,源文件最开始必须是数字字符,要保证源文件的数据计数正确.同时保证文件名有效. 运行结果 data.txt: obj.txt: 完整代码 警告:版权所有,谨供参考! #include <stdio.h>

vb6 0读取-VB6如何读取SVG格式文件

问题描述 VB6如何读取SVG格式文件 用SVGdeveloper画了个变压器图片(文件格式为.svg),要求在VB6.0中点击下command控件后在form中显示已经绘制好的变压器 解决方案 用这个控件看看http://www.codeproject.com/Articles/92434/SVGImage-Control

VIUAC++6.0用CFILE读取文件,文件指针的移动

问题描述 VIUAC++6.0用CFILE读取文件,文件指针的移动 VIUAC++6.0用CFILE读取文件,文件指针按照行移动,不使用ReadLine的方法. 解决方案 http://blog.chinaunix.net/uid-423637-id-357509.html