cstdiofile(VC++求助!!CStdioFile按行读文件出错)

:暂无数据 2026-04-30 11:00:02 0
最近,关于cstdiofile的讨论又热了起来。今天咱们不绕弯子,直接切入大家最关心的VC++求助!!CStdioFile按行读文件出错问题,看看它为何如此重要。

本文目录

VC++求助!!CStdioFile按行读文件出错

目测上述代码没有发现什么问题,建议按照如下方式来调试。
在while循环内部的“strText += szLine;”打上断点,单步执行时,监视strText的值。
/////////////////////////////////////////////////////////////////////
刚才试验了一下,在一个按钮的单击响应函数里面写了如下代码:
void CFileTestDlg::OnTestfile()
{
// TODO: Add your control notification handler code here
CString strText = "";
CString szLine = "";

//打开文件
CStdioFile file;
if (!*****("*****",CFile::modeRead))
{
AfxMessageBox("无法打开文件!");
return;
}
//逐行读取字符串
while( *****( szLine ) )
{
strText += szLine;
}
*****();
AfxMessageBox(strText);
}
/////////////////////////////////////////////////////////////////////
结果:AfxMessageBox能够读出文本中的内容。
至于你为什么读不出内容,我想,可能有以下几个原因。
1.代码中缺少是否打开文件的判断,有可能打开文件失败。
2.注意此处待读文件的路径为相对路径,txt文件需要放在工程目录下面。
请设置断点后,单步调试确认。

Cstdiofile无法逐行读取

你*****();是什么意思?
这个是Flush的描述:Forces any data remaining in the file buffer to be written to the file
将缓冲区的内容写入到文件中。
你这里读文件,调用个Flush是何用意?
去掉试试

如何使用CStdioFile:ReadString来读文件

一数据文件一行一条记录,我用*****()一次读一行,并对读取的数据做一些处理;
请问:while(文件还没到结尾)
{
*****();
...
}
while()中不用另加判断条件了,因为CStdioFile::ReadString()本身就是判断标志,若没有了(文件到头)返回NULL,因此:while(*****(s)){}就可.
假设你已有了名为*****的文件在你的工程目录下:
{
CStdioFile file;
CString sss;
char ccc;
DWORD o=0;
int ol=0;
*****("*****",CFile::modeRead);
while(*****(sss))
{
ol++;
if(ol》1)//读两次就不读了.
break;
}
o=*****();//记录上次的结果(读到哪了)
.................
*****(o,0);//接着上回读
while(*****(sss))
{
strcpy(ccc,sss);
AfxMessageBox(ccc);
}
}

CStdioFile怎么实现删除txt文件的某一行信息,修改某一行信息

怎么实现删除txt文件的某一行信息,修改某一行信息
#include
"*****"
int _tmain(int argc, TCHAR* argv, TCHAR*
envp)
{
try

{
CStdioFile
file;
LPCTSTR pszFile =
_T("F:\\*****");
*****(pszFile,
CFile::modeRead);
CString
strText;
DWORD dwPos =
0;
LPCTSTR pszSrc =
_T("111111");
LPCTSTR pszDes
=
_T("222222\n");
while(*****(strText))
{
if(strText
==
pszSrc)
{

dwPos = (DWORD)*****() - (_tcslen(pszSrc) +
_tcslen(_T("\r\n")));

break;
}
}
*****();
*****(pszFile,
CFile::modeWrite);
*****(dwPos,
CFile::begin);
*****(pszDes);
*****();

}
catch(CException* e)

{
e-》ReportError();
e-》Delete();

}
return 0;
}
// *****
(ANSI文本文件)
aaaaaa
111111
333333
444444
程序运行之后文件内容
aaaaaa
222222
333333
444444

在VS2010中,如何用CStdioFile写入中文,之前写入的都是乱码,求解答,在线等!!!

char* old_locale=_strdup(setlocale(LC_CTYPE,NULL));
setlocale(LC_CTYPE,"chs");
//...
setlocale(LC_CTYPE,old_locale);
****(old_locale);

怎样用CStdioFile按行读取数据,读取一行文本文件

CStdioFile file;
if (*****("*****", CFile::modeRead)) return;
CString strLine;
while (*****(strLine))
{
//strLine就是一行文本,自己处理吧
}
*****();

error C2664: “CStdioFile::CStdioFile(FILE *)”

编译器已经告诉你了啊:
CStdioFile::CStdioFile(FILE *)需要的参数是FILE*,而不是c***t wchar_t ,你要传FILE *类型的参数给他~

CStdioFile 读取txt中的中文 显示为乱码

一般来说,这是因为你的txt文件编码格式导致的,如果mfc已经设置为多字节编码,那么txt一般根据你的操作系统设置为gb2312读出来的可能性比较大
我找了找,CStdioFile似乎不能显示指定编码

使用cstdiofile类,编译出错误,说没有定义构造拷贝函数,如何解决

用引用试试 void MakeTxt(CString strTxtFileName,CStdioFile& ResultFile,int iRepeat,int iNumFrames)

CStdioFile打开绝对路径名的问题

第一个问题 自己添加 很简单 把\全替换成\\
第二个问题 你这个明显全是窄 转换
//用wcstombs_s函数
//wchar_t --》 char 的例子
#include "*****"
#include "*****"
int _tmain(int argc, _TCHAR* argv)
{
setlocale(LC_ALL,"chs"); //set to chinses-simplified
wchar_t* ws = L"汉字";
wprintf( L"ws = %s\n", ws );
c***t size_t MAXCHAR = 100;
char* pmbc = (char *) malloc( MAXCHAR );
size_t i;
if (wcstombs_s(&i, pmbc, MAXCHAR, ws, MAXCHAR ) != 0){
printf( " error!\n" );
}else{
printf( " Multibyte character: %s\n", pmbc );
}
if(pmbc)
****(pmbc);
return 0;
}
或者这个函数
WideCharToMultiByte

对于cstdiofile中的VC++求助!!CStdioFile按行读文件出错,你是怎么看的?欢迎分享你的观点,我们一起交流进步。
本文编辑:admin

更多文章:


jvm调优主要是调哪里(JVM 性能调优方法)

jvm调优主要是调哪里(JVM 性能调优方法)

在深入了解jvm调优主要是调哪里的路上,JVM 性能调优方法就像一道绕不开的坎。别担心,本篇攻略将助你轻松跨越。

2026年4月30日 13:00

c语言随机产生0 10的整数(c语言:随机产生的100个0到10之间的整数,设计程序,统计0到10的个数)

c语言随机产生0 10的整数(c语言:随机产生的100个0到10之间的整数,设计程序,统计0到10的个数)

大家好,关于c语言随机产生0 10的整数很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于c语言:随机产生的100个0到10之间的整数,设计程序,统计0到10的个数的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解

2026年4月30日 12:40

matlab的imwrite函数(matlab如何用out输出图像)

matlab的imwrite函数(matlab如何用out输出图像)

是不是总觉得matlab的imwrite函数的知识体系太庞大,matlab如何用out输出图像更是无从下手?本文将帮你化繁为简,抓住核心。

2026年4月30日 12:20

insert all(在Oracle中,通过一个INSERT ALL语句批量插入数据)

insert all(在Oracle中,通过一个INSERT ALL语句批量插入数据)

关于insert all,有一个概念至关重要,那就是在Oracle中,通过一个INSERT ALL语句批量插入数据。它为何如此重要?且听我们慢慢道来。

2026年4月30日 12:00

oracle建库步骤(在命令行如何创建oracle实例与数据库,需要详细点教程,谢谢)

oracle建库步骤(在命令行如何创建oracle实例与数据库,需要详细点教程,谢谢)

想高效掌握oracle建库步骤的核心吗?本文将为你聚焦在命令行如何创建oracle实例与数据库,需要详细点教程,谢谢这一关键环节,帮你节省大量摸索时间。

2026年4月30日 11:40

web标准主要包括(WEB标准有哪些)

web标准主要包括(WEB标准有哪些)

嗨,正在屏幕前搜索web标准主要包括的你,是否也被WEB标准有哪些的问题困扰过?今天这篇内容就是为你准备的。

2026年4月30日 11:20

cstdiofile(VC++求助!!CStdioFile按行读文件出错)

cstdiofile(VC++求助!!CStdioFile按行读文件出错)

最近,关于cstdiofile的讨论又热了起来。今天咱们不绕弯子,直接切入大家最关心的VC++求助!!CStdioFile按行读文件出错问题,看看它为何如此重要。

2026年4月30日 11:00

java中接口是什么(在java中,什么事接口,接口的特点是什么)

java中接口是什么(在java中,什么事接口,接口的特点是什么)

您是否曾想过,java中接口是什么究竟是怎么一回事?它与在java中,什么事接口,接口的特点是什么之间又有什么联系?本文将为您一探究竟。

2026年4月30日 10:40

二进制和十进制转换app(怎样快速2进制10进制互相转换)

二进制和十进制转换app(怎样快速2进制10进制互相转换)

有没有觉得二进制和十进制转换app听起来很高深?别怕,今天我们就把它和怎样快速2进制10进制互相转换一起,拆解成易懂的小知识点。

2026年4月30日 10:20

html怎么让图片居中在div中(如何让图片在div中居中显示)

html怎么让图片居中在div中(如何让图片在div中居中显示)

各位朋友,关于html怎么让图片居中在div中的讨论一直很多,今天咱们不聊复杂的,就聚焦于如何让图片在div中居中显示,用最直白的方式把它讲清楚。

2026年4月30日 10:00

最近更新

matlab的imwrite函数(matlab如何用out输出图像)
2026-04-30 12:20:02 浏览:0
insert all(在Oracle中,通过一个INSERT ALL语句批量插入数据)
2026-04-30 12:00:02 浏览:0
web标准主要包括(WEB标准有哪些)
2026-04-30 11:20:02 浏览:0
cstdiofile(VC++求助!!CStdioFile按行读文件出错)
2026-04-30 11:00:02 浏览:0
热门文章

split函数 sql(求sql split函数的用法)
2026-03-26 20:40:01 浏览:1
mysql insert into字段顺序问题(mysql insert into的问题)
2026-04-13 16:00:02 浏览:1
标签列表