用VC在MFC里用CFile方式读txt文件,忽略空格和换行,只读取每一行里的一个数并转成int型该怎么办?求答!

每一行里眼读的数之前可能有空格,后面也可能有,如“34”,将34以int型读出,如果文件数字个数小于int数组个数,算出文件数字个数。... 每一行里眼读的数之前可能有空格,后面也可能有,如“ 34 ”,将34以int型读出,如果文件数字个数小于int数组个数,算出文件数字个数。 展开
 我来答
菜鸟级程序员
推荐于2016-01-18 · TA获得超过342个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:161万
展开全部
使用CString类即可
CString szTmp = “ 34 ”;
szTmp.trim();//这个的功能是把字符串左右两边的空格去掉
szTmp.Replace(" ", "");//这个的功能是把字符串的空格消掉
int n = szTmp.GetLength();//这个就是把空格去掉后,字符串的长度了
int n = atoi(szTmp);//这个是把字符串变成数字的
后面的就看你情况使用了。CString类是一个很强大的字符串类,感觉可以满足你了。
追问
嗯,谢谢。请问你知道该怎么从文件里把数据一行一行的读出来成为CString的吗?我本来想读成char的,但都是乱七八糟的一堆数字 ( ̄△ ̄;)
追答
当然可以啦。
#include
//#include
CAtlFile h_file;
HRESULT hr = h_file.Create("c:\\123.txt", GENERIC_ALL, FILE_SHARE_WRITE|FILE_SHARE_READ, OPEN_EXISTING);//打开文件
if (SUCCEEDED(hr))
{
ULONGLONG uLen = 0;
h_file.GetSize(uLen);//获取文件内容的大小
char* str = new char[uLen+1];
memset(str, 0, uLen+1);//初始化数据
h_file.Read( str, uLen+1);//读取内容
h_file.Close();//文件关闭
CString szTmp;
szTmp = str;//这个不就是内容了么
delete str;
}
看你样子应该是新学的,那么应该不懂宽字符与多字符的吧?
一般就是使用多字符的格式的了。
CString其实就是一个char封装类。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式