用VC在MFC里用CFile方式读txt文件,忽略空格和换行,只读取每一行里的一个数并转成int型该怎么办?求答!
答案:1 悬赏:50 手机版
解决时间 2021-11-20 07:01
- 提问者网友:山高云阔
- 2021-11-19 13:35
用VC在MFC里用CFile方式读txt文件,忽略空格和换行,只读取每一行里的一个数并转成int型该怎么办?求答!
最佳答案
- 五星知识达人网友:鸠书
- 2021-11-19 13:53
使用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封装类。
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封装类。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯