vc++6.0如何读取TXT文件,然后把文件内容放入自定义的数组中?

sjmsky111 2009-03-27 10:49:39
我的程序想读取TXT文档,然后把文档内容放入数组中,我就可以掉用数组的内容了。我在一个Diolag中定义了全局变量
CString name[5000];

text文档格式如下:
王小一
王小二
王小三
王小四
王小五

高手们给我点代码参考。谢谢。
...全文
1306 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
heruigang8768 2012-09-02
  • 打赏
  • 举报
回复
我想知道你们贴的代码最开始是谁写的哦?乱贴,滥竽充数!没一个会自己写的
一条晚起的虫 2009-03-28
  • 打赏
  • 举报
回复
   CStdioFile file;
if(!file.Open(filePathName,CFile::modeRead)) //filename参数自己传入
{
MessageBox("can not open file!");
return;
}
CString strLine;
int i = 0;
while(file.ReadString(strLine))
{
name[i] = strLine;
i++;
}
hust_terry 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sjmsky111 的回复:]
基于对话框的应用程序没有关于文件的类,怎么办?
[/Quote]

CFILE不行吗?
sjmsky111 2009-03-28
  • 打赏
  • 举报
回复
基于对话框的应用程序没有关于文件的类,怎么办?
Oliver2891 2009-03-28
  • 打赏
  • 举报
回复
前面几位兄弟的答案都不错,顶,哈哈
fudiaoab1 2009-03-28
  • 打赏
  • 举报
回复
这是扩展名过滤符,你看一下该类构造函数的帮助就知道怎么写了
hdy981 2009-03-28
  • 打赏
  • 举报
回复
CFileDialog dlg(TRUE,"*txt","",NULL,"Îļþ(*.ini)|*.ini",0);
这行咋有个乱码?
xxfihm 2009-03-28
  • 打赏
  • 举报
回复
lz给点分吧。。。偶潜水已久,今天第一次回帖。。。
xxfihm 2009-03-28
  • 打赏
  • 举报
回复
#include <vector>
#include <string>
using namespace std;

bool fun(vector<string>& sv, string& strFileName)
{
ifstream file;
file.open(strFileName.c_str());
if(!file)
{
return false;
}

string line;
while(getline(file, line))
{
sv.push_back(line);
}

return true;
}
sjmsky111 2009-03-28
  • 打赏
  • 举报
回复
CFileDialog dlg(TRUE,"*txt","",NULL,"Text Files(*.txt)|*.txt",0);
CStdioFile file;
CString filePathName;
int i,row;

if(dlg.DoModal()==IDOK)
filePathName = dlg.GetFileName();
if(filePathName == "")
return;
if(!file.Open(filePathName,CFile::modeRead))
{
MessageBox("can not open file!");
return;
}
//m_slist.DeleteAllItems();

CString strLine,strTemp;
row = 0;
while(file.ReadString(strLine))
{
char *str = strLine.GetBufferSetLength(strLine.GetLength());
char *p;

if(strLine!="")
{
//m_slist.InsertItem(row,"");
//i = 0;
for (p=strtok(str,";");p!=NULL;p=strtok(NULL,";"))
{
strTemp = p;
//m_slist.SetItemText(row,i,strTemp);
name[row]=strTemp;
//i++;
}
row ++;
}
}
zxjzxj521 2009-03-28
  • 打赏
  • 举报
回复
FILE *fp;
int i=0;
char buf[BUF_SIZE];
fp=fopen("1.txt","wr");
if(!fp)
{
printf("open file error!");
}
while(!feof(fp))
{
fgets(buf,sizeof(buf),fp);
name[i]=buf;
i++;
}
sjmsky111 2009-03-27
  • 打赏
  • 举报
回复
楼上的代码能放在一个BUTTON中?
lwx300 2009-03-27
  • 打赏
  • 举报
回复
    CFile file;
CStringArray arr; //保存每一行内容的数组。
arr.SetSize(0, 100);

if (file.Open(_T("txt文档路径"), CFile::modeRead))
{
DWORD dwLen = file.GetLength();
if (dwLen > 0)
{
file.Read(strText.GetBuffer(dwLen), dwLen);
strText.ReleaseBuffer();
}
file.Close();

TCHAR seps[] = _T("\r\n");
TCHAR *psztoken, *pszText = strText.GetBuffer(0);

psztoken = _tcstok(pszText, seps);
while (psztoken != NULL)
{
arr.Add(psztoken);
psztoken = _tcstok(NULL, seps);
}

strText.ReleaseBuffer();
}

莫情莫钱 2009-03-27
  • 打赏
  • 举报
回复
CFileDialog dlg(TRUE,"*txt","",NULL,"Îļþ(*.ini)|*.ini",0);
CStdioFile file;
CString filePathName;
int i,row;

if(dlg.DoModal()==IDOK)
filePathName = dlg.GetFileName();
if(filePathName == "")
return;
if(!file.Open(filePathName,CFile::modeRead))
{
MessageBox("can not open file!");
return;
}
m_slist.DeleteAllItems();
CString strLine,strTemp;
row = 0;
while(file.ReadString(strLine))
{
char *str = strLine.GetBufferSetLength(strLine.GetLength());
char *p;

if(strLine!="")
{
m_slist.InsertItem(row,"");
i = 0;
for (p=strtok(str,";");p!=NULL;p=strtok(NULL,";"))
{
strTemp = p;
m_slist.SetItemText(row,i,strTemp);
i++;
}
row ++;
}
}
莫情莫钱 2009-03-27
  • 打赏
  • 举报
回复
用楼上的办法,读取一行,赋值给数组对应的一个元素里就行了,
sjmsky111 2009-03-27
  • 打赏
  • 举报
回复
给点实际的例子
一条晚起的虫 2009-03-27
  • 打赏
  • 举报
回复
用CStdioFile打开文件,CStdioFile::ReadString读取每一行的内容

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧