
mfc编程问题
输入一串数据中间用逗号隔开。比如12,34,5,6怎样让这个输入流中的逗号去掉,并且让123456赋给一个数组??...
输入一串数据中间用逗号隔开。比如12,34,5,6怎样让这个输入流中的逗号去掉,并且让12 34 5 6赋给一个数组??
展开
4个回答
展开全部
CString str = _T("12,34,5,6");
int pos = 0;
CString num[20];
int i;
for(i=0;i<20;i++)
{
pos = str.Find(_T(","));
if(pos == -1){
num[i] = str;
break;
}
else{
num[i] = str.Left(pos);
str = str.Right(str.GetLength()- pos -1);
}
}
int pos = 0;
CString num[20];
int i;
for(i=0;i<20;i++)
{
pos = str.Find(_T(","));
if(pos == -1){
num[i] = str;
break;
}
else{
num[i] = str.Left(pos);
str = str.Right(str.GetLength()- pos -1);
}
}
展开全部
int a[1024];
int i=0;
CString spl(_T(",")); //分隔符
while(1)
{
CString strJump;
int nStartPos = sJump.Find(spl); //查找第一个分隔符的位置
if(nStartPos<0)
{
a[i++] = atoi(sJump); //如果没有分号 表示只有一位数,直接转换成整数
break;
}
else
{
strJump = sJump.Left(nStartPos); //找到第一个分号,截取分号前的数字
a[i++] = atoi(strJump); //将截取的数字转换成整型赋值给数组
sJump.Delete(0,nStartPos+spl.GetLength()); //删除已截取的字符
}
}
int i=0;
CString spl(_T(",")); //分隔符
while(1)
{
CString strJump;
int nStartPos = sJump.Find(spl); //查找第一个分隔符的位置
if(nStartPos<0)
{
a[i++] = atoi(sJump); //如果没有分号 表示只有一位数,直接转换成整数
break;
}
else
{
strJump = sJump.Left(nStartPos); //找到第一个分号,截取分号前的数字
a[i++] = atoi(strJump); //将截取的数字转换成整型赋值给数组
sJump.Delete(0,nStartPos+spl.GetLength()); //删除已截取的字符
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
std::vector<int> vecNumber;
CString strNumber = _T("12, 34, 5, 6");
CString resToken;
int curPos = 0;
resToken = strNumber.Tokenize(_T(", "), curPos);
while (resToken != _T(""))
{
vecNumber.push_back(_ttoi(resToken.GetString()));
resToken = strNumber.Tokenize(_T(", "), curPos);
};
vecNumber就是保存的数组,strNumber就是要输入的字符串
追问
编译不通过,vector : is not a member of 'std' vector不属于std。请问需要加什么头文件?
追答
我去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个CString用getbuffer函数传回char * 变量,这个变量怎么判断,这你就该明白了吧?
追问
我看了这个函数,根本不懂。假设输入是Cstring类的m_str,将要接受的数组是a[ ]。你说代码怎么写吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询