怎样按行获取txt文件内容然后显示到list控件中,然后选中list里面的内容可以按行删除并保存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样按行获取txt文件内容然后显示到list控件中,然后选中list里面的内容可以按行删除并保存相关的知识,希望对你有一定的参考价值。

怎样按行获取txt文件内容然后按行显示到list控件中呢?
不知道怎么做,用CFile?fstream?具体怎么做呢?请大大指点。

//定义全局变量
CStdioFile fFileIn,fFileOut; //文件
CString sPathIn,sPathOut; //文件路径
CString sLine; //读到得行字串
//添加控件成员变量
CListBox m_list; //注意在ListBox的Style选项卡里(1)将【选择】改为多个,这样可以通过按下ctrl键多选操作行 (2)将【分类】前面的勾去掉

//读文件部分
sPathIn,sPathIn="d:\\in.txt"; //输入文件路径
fFileIn.Open(sPathIn,CFile::modeRead); //打开文件
m_list.ResetContent(); //如需要清空列表
while(fFileIn.ReadString(sLine)) //读行

m_list.AddString(sLine); //逐行填列表

fFileIn.Close(); //关文件

//删除行部分
int count; //记录选中的列表行数目
int i; //表示要删除的列表行号
int j; //表示已删除列表的行数目
CString str,allStr;
BOOL temp_count=FALSE;
count=m_list.GetSelCount(); //获得列表选中多少行
if(LB_ERR==count)return; //无行选中则跳出
int* buffer=new int[count]; //建立动态数组
m_list.GetSelItems(count,buffer); //将所选中列表行号存入数组
j=0;
for(i=0;i<count;i++)

m_list.DeleteString(buffer[i]-j); //buffer[i]-j为要删除行号的当前值,因为每删除一行,原行号会变动)
j++;


//写文件部分   
sPathOut="d:\\out.txt"; //输出文件路径
fFileOut.Open(sPathOut,CFile::modeCreate|CFile::modeWrite); //打开写入文件   
int i; //临时变量i用于索引列表行
for (i=0;i<m_list.GetCount();i++)

m_list.GetText(i,sLine); //读列表行字串
sLine+="\n"; //添加换行符
fFileOut.WriteString(sLine); //逐行写入文件

fFileOut.Close(); //关闭文件

vc6下通过
参考技术A #include <string>
#include <fstream>
using namespace std;
ifstream in("file.txt",ios::in);
string line; CString str;
while(getline(in,line,'\n')) str=CString(line.c_str());
next see you .
参考技术B 使用getline 函数 给你个链接 看一下就明白 了

参考资料:http://baike.baidu.com/view/3127321.htm

Winform怎样读取文本文件,并显示到datagridview

лл..

参考技术A 读取文本文件,用streamReader。具体使用方法请百度。读取文件后,要根据你的需求建立数据结构,储存自己需要的数据。 至于显示到datagridView上,可以直接为其制定数据源(如:上面建立的数据结构) 参考技术B 将文本内容读取到Map中将Map添加到List集合中再将集合作为dgv的DataSource绑定,然后调用DataBind方法即可 参考技术C FileStream fs = File.Open("文件名.扩展名", FileMode.OpenOrCreate,FileAccess.Read);
byte[] bt=new byte[fs.Length];
fs.Read(bt, 0, bt.Length);
string text = Encoding.Default.GetString(bt);
fs.Close();datagridview1.Rows.Add();datagridview1.Rows[0].Cells[0].value=text;

以上是关于怎样按行获取txt文件内容然后显示到list控件中,然后选中list里面的内容可以按行删除并保存的主要内容,如果未能解决你的问题,请参考以下文章

php 如何把一个txt文件内容写入到另一个txt文件中?

项目应用自然语言处理-分词词频统计词性标注格式化输出

java按行读取txt文件并与数据库表中的内容进行匹配处理(问题好像比较复杂哈)

C# 读取TXT文件内容到listview

关于vb Listbox控件,怎样编写代码才能把List1中的内容复制到List2中呢?

怎样用C#读取TXT文件内容并修改