注册 登录
编程论坛 VC++/MFC

脑洞被堵,字符串打印出现问题。。。

luoye1994 发布于 2016-09-03 10:27, 2983 次点击
读字符串 char buf[100] = “xxxx:yyyy:zzzz:aaaa:bbb”.按:进行分解到,string 数组中去。
我只会用这种方法,还有没有其它方法,求各位大神,来点其他输出的方法。。。。
#include <iostream>
#include <string>
using namespace std;

void func()
{
    char Arc[100] = "aaaa:bbbb:cccc:dddd";
    char ch = ':';
    string str[10];
   
    int i = 0, k = 0;
//    cout << p[0] << p[1] << p[2] << endl;
   
    while (Arc[i])
    {
        if (Arc[i] == ch)
        {
            ++i;
            ++k;
            continue;
        }
        str[k].push_back(Arc[i]);
        ++i;
    }
    for (int t = 0; t <= k; ++t)
        cout << str[t] << endl;
}
int main()
{   
    func();

    system("pause");
    return 0;
}
6 回复
#2
luoye19942016-09-03 11:09
#3
xh_green2016-09-03 11:58
程序代码:
void func()
{
    char Arc[100] = "aaaa:bbbb:cccc:dddd";
    string str(Arc);
    string::iterator it;
    for (it =str.begin(); it != str.end(); ++it)
    {
        if ( *it == ':')
        {
            str.erase(it);
        }
    }
}
#4
luoye19942016-09-03 12:22
回复 2楼 luoye1994
谢谢
#5
luoye19942016-09-03 12:23
还有没有其他的方法。。脑洞被堵了
#6
书生牛犊2016-09-06 17:29
scanf("%[^:]:%[^:]:%[^:]:%s",&str[1],str[2],str[3],str[4])

这是C语言的处理方法,我相信C++应该也是可以用的   关键词 scanf %[]
#7
rjsp2016-09-08 12:16
C用 strchr
C++用 std::getline
1