首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于sscanf的一个小疑点

2012-02-12 
关于sscanf的一个小问题mfc下的,主要是onok函数voidCYAYA37Dlg::OnOK(){charbuf[SZ]CStringstr1[5]CStri

关于sscanf的一个小问题
mfc下的,主要是onok函数
void   CYAYA37Dlg::OnOK()  
{
                char       buf[SZ];
                  CString       str1[5];
CString       str2[5];
CString       str3[5];
CString       str4[5];
CString       str5[5];

int   i=0;
{
ifstream   in( "mytext.txt ");
while(in.getline(buf,SZ))
{
sscanf(buf, "%s   %s   %s   %s   %s\n ",str1[i],str2[i],str3[i],str4[i],str5[i]);
i++;
}
}

---------------------
我是想读一个mytext的文件,内容如下
ARON1     ARON2     ARON3     ARON4     ARON5
QQ1         QQ2         QQ3         QQ4         QQ5
AUNT1     AUNT2     AUNT3     AUNT4     AUNT5
MAG1       MAG2       MAG3       MAG4       MAG5
读入到str1[i],str2[i],str3[i],str4[i],str5[i]里,但是我发现用cstring的str1就读出的每个str1[i],str2[i],str3[i],str4[i],str5[i]都是最后一个字符串,如
str1[1],str2[1],str3[1],str4[1],str5[1]都是 "QQ5 ",但是如果我用char   str1[6],这种形式来定义就没有问题,请各位指教,谢谢

[解决办法]
这样读取更方便啊
in> > str1[i];
in> > str2[i];
in> > str3[i];
in> > str4[i];
in> > str5[i];

[解决办法]
CString是一个类,而sscanf是针对字符串来操作的,因此定义成字符串类型就可以了

热点排行