怎么用MFC导入txt文档 15
连初学者都不算就要做这个作业,汗。就问最简单的。请问一下在哪个类里面添加一个哪一个函数可以把txt文档内容导入到单文档上。...
连初学者都不算就要做这个作业,汗。就问最简单的。请问一下在哪个类里面添加一个哪一个函数可以把txt文档内容导入到单文档上。
展开
3个回答
展开全部
1.先把列表框里面的内容保存到变量temp中,把下列代码加入到按钮的响应函数即可。
CFile outf = CFile("out.txt");
outf.out(temp);
outf.flush();
另外C++里面的文件操作,可以原封不动地搬到mfc中,如果你在C++语言里面会,也可以用C++的库函数实现文件操作。
2.例程:
CString strFile = "c:\\test.txt";
CFile f;
f.Open(strFile, CFile::modeRead);
char* str = new char[f.GetLength()];
f.Read(str, f.GetLength());
f.Close();
GetDlgItem(IDC_EDIT_VALUE)->SetWindowText(str);
CFile outf = CFile("out.txt");
outf.out(temp);
outf.flush();
另外C++里面的文件操作,可以原封不动地搬到mfc中,如果你在C++语言里面会,也可以用C++的库函数实现文件操作。
2.例程:
CString strFile = "c:\\test.txt";
CFile f;
f.Open(strFile, CFile::modeRead);
char* str = new char[f.GetLength()];
f.Read(str, f.GetLength());
f.Close();
GetDlgItem(IDC_EDIT_VALUE)->SetWindowText(str);
博思aippt
2024-07-20 广告
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼word文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景...
点击进入详情页
本回答由博思aippt提供
展开全部
是要单文档框架程序,视图类基类选择CEditView,在app类函数InitInstance函数里面的最后,里面有一句return TRUE之前调用函数OpenDocumentFile( FilePathName);FilePathName是你要打开文本文件的路径及文件名字符串.比如"e:\\my.txt";即OpenDocumentFile("e:\\my.txt");这样程序启动后会自动打开文件e盘根目录下的文本文件my.txt
本回答被网友采纳
展开全部
CString GetParFromFile(CString key_str)
{
CString strtemp;
int op_data=0;
FILE *bat_fp;
long bat_Filelen;
char *bat_pData;
int strpos=0;
int start_flag;
bat_fp=fopen(导入的txt文件名,"rb");
if(bat_fp==NULL)
{
AfxMessageBox("文件不存在");
return "-1";
}
//文件指针到文件尾
fseek(bat_fp,0,SEEK_END);
//读取文件长度
bat_Filelen = ftell(bat_fp);
//按文件长度申请内存空间
bat_pData= (char*)malloc(bat_Filelen);
memset(bat_pData,0,bat_Filelen);
//读取文件到分配的内存
fseek(bat_fp,0,SEEK_SET);
fread(bat_pData,1,bat_Filelen,bat_fp);
CString bat_str;
bat_str.Format("%s",bat_pData);
free(bat_pData);
int end_flag=0;
start_flag = bat_str.Find(key_str);
if(start_flag != -1)
{
start_flag = start_flag + strlen(key_str) ;
end_flag=start_flag+1;
while (1)
{
if (bat_str.Mid(end_flag,1)==0x0d)
{
break;
}
end_flag++;
}
strtemp=bat_str.Mid(start_flag,end_flag-start_flag);
return strtemp;
}
else
return "-1";
}
{
CString strtemp;
int op_data=0;
FILE *bat_fp;
long bat_Filelen;
char *bat_pData;
int strpos=0;
int start_flag;
bat_fp=fopen(导入的txt文件名,"rb");
if(bat_fp==NULL)
{
AfxMessageBox("文件不存在");
return "-1";
}
//文件指针到文件尾
fseek(bat_fp,0,SEEK_END);
//读取文件长度
bat_Filelen = ftell(bat_fp);
//按文件长度申请内存空间
bat_pData= (char*)malloc(bat_Filelen);
memset(bat_pData,0,bat_Filelen);
//读取文件到分配的内存
fseek(bat_fp,0,SEEK_SET);
fread(bat_pData,1,bat_Filelen,bat_fp);
CString bat_str;
bat_str.Format("%s",bat_pData);
free(bat_pData);
int end_flag=0;
start_flag = bat_str.Find(key_str);
if(start_flag != -1)
{
start_flag = start_flag + strlen(key_str) ;
end_flag=start_flag+1;
while (1)
{
if (bat_str.Mid(end_flag,1)==0x0d)
{
break;
}
end_flag++;
}
strtemp=bat_str.Mid(start_flag,end_flag-start_flag);
return strtemp;
}
else
return "-1";
}
更多追问追答
追问
这个是完整的函数?这个应该添加到哪个类里面呢?
追答
是完整的,我自己一直用这个函数。
不用导入类中都可以用,放在某个.h文件中,在你要用的类文件最上面#inlcude 这个.h文件就可以用了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询