请教几个问题,一个十分

jasonhrs 2003-11-26 12:31:13
1 我想打开一个文本文件,并把它读到一个CString 数组中去,每一个行用一个 CString保存。
2 如何在CString里查找和替换?
3 文件文件里和每一个都是由几个单词组成的,如何在CString 里将其分割开来?
4 如何将用一个字符数字如“1234”转成一个整型数值1234?
5 如何在十进制和十六进制间转换?
...全文
40 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
keiven 2003-11-27
  • 打赏
  • 举报
回复

1 你先打开文件,然后分析打开的文件,遇到换行的话就把前面的存到数组中去,后面的也是一样的.
2 用CString类的成员函数Replace
3 分析字符串遇到空格就是一个单词
4 用函数atoi
5 格式化为%x就行了,输出的就是十六进制了.str.Format("%x",m_i)//m_i为十进制数
leopardsmith 2003-11-27
  • 打赏
  • 举报
回复
1.fgets()
2,CString aa;
CString tobefind,tobe.
aa.Replace(tobefind,tobe);//第一个为要替换的,第二个为替换成的字符串.
3,str.Find(" ");//返回每个空格的位置.
4,atol().将一个串转化成long/int
5,转成0x...的就成16进制.
同意
jasonhrs 2003-11-26
  • 打赏
  • 举报
回复
怎么没人回答呀?自己UP
sxxny 2003-11-26
  • 打赏
  • 举报
回复
基本上没有看到过谁使用CString 数组, 你应该是用CStringArray
fayifu 2003-11-26
  • 打赏
  • 举报
回复
当然可以。
jasonhrs 2003-11-26
  • 打赏
  • 举报
回复
谢谢大家,在VC里能使用CString数组吗?
fayifu 2003-11-26
  • 打赏
  • 举报
回复
读出每行后,再判断,如果是空行则跳过。
如要去掉空行,要生成一个新文件,如不是空行则写入该文件。
tyzyx 2003-11-26
  • 打赏
  • 举报
回复
1 我想打开一个文本文件,并把它读到一个CString 数组中去,每一个行用一个CString保存。

if (!file.Open(sFile, CFile::modeRead | CFile::typeTe x t ) )
{
msg.Format("Failed to open %s.",sFile);
A f x M e s s a g e B o x ( m s g ) ;
}
file.ReadString (sRecord);
2 如何在CString里查找和替换?
自已写
3 文件文件里和每一个都是由几个单词组成的,如何在CString 里将其分割开来?
什么意思?
4 如何将用一个字符数字如“1234”转成一个整型数值1234?
atoi
5 如何在十进制和十六进制间转换
10-16 一个数不断除16
16-10 一个数按位不断乘16的倍数
jasonhrs 2003-11-26
  • 打赏
  • 举报
回复
谢谢大家,如果我想把一个文件里的空行去掉或跳过,该怎么做?
fayifu 2003-11-26
  • 打赏
  • 举报
回复
//将16进制的一个字符转换为十进制的数
unsigned char CConvNumsDlg::BtoH(char ch)
{
//0-9
if (ch >= '0' && ch <= '9')
return (ch - '0');

//9-15
if (ch >= 'A' && ch <= 'F')
return (ch - 'A' + 0xA);

//9-15
if (ch >= 'a' && ch <= 'f')
return (ch - 'a' + 0xA);
return(255);
}
fayifu 2003-11-26
  • 打赏
  • 举报
回复
3.要有自定义格式。
enoloo 2003-11-26
  • 打赏
  • 举报
回复
1.fgets()
2,CString aa;
CString tobefind,tobe.
aa.Replace(tobefind,tobe);//第一个为要替换的,第二个为替换成的字符串.
3,str.Find(" ");//返回每个空格的位置.
4,atol().将一个串转化成long/int
5,转成0x...的就成16进制.
文斌 2003-11-26
  • 打赏
  • 举报
回复
1\CArchive::ReadString(CString& str)
2\CString::Replace(LPCTSTR lpszOld,LPCTSTR lpszNew)
3\没有现成的函数只有自己写段小程序了,查找空格或标点然后用CString::Left()来截取。
4\_ttoi(const char* str)
5\不明白你说的是什么意思。
fayifu 2003-11-26
  • 打赏
  • 举报
回复
1.CStdioFile类的ReadString读取一行文本WriteString写一行文本
fayifu 2003-11-26
  • 打赏
  • 举报
回复
2.Find
fayifu 2003-11-26
  • 打赏
  • 举报
回复
4.atoi

16,551

社区成员

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

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

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