可能重复:
如何在C++中对字符串进行标记?
伪代码:
Attributes[] = Split line(' ')
Run Code Online (Sandbox Code Playgroud)
怎么样?
我一直这样做:
char *pch;
pch = strtok(line," ");
while(pch!=NULL)
{
fputs ( pch, stdout );
}
Run Code Online (Sandbox Code Playgroud)
并获得一个非书面,卡住的退出文件.这有什么问题吗?好吧,事情甚至没有满足我的伪代码要求,但我对如何将令牌(作为char数组)索引到我的数组感到困惑,我想我应该写一个2-dim数组?
这不是一个重复 - 对于C++来说,请看@vunino 在这里接受的答案.
下面的基本代码,但要看到答案的完全辉煌的优雅,你将不得不点击它.
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>
int main() {
using namespace std;
string sentence = "Something in the way she moves...";
istringstream iss(sentence);
copy(istream_iterator<string>(iss),
istream_iterator<string>(),
ostream_iterator<string>(cout, "\n"));
}
Run Code Online (Sandbox Code Playgroud)
这取决于以下事实:默认情况下,istream_iterator将空格视为其分隔符.生成的标记将写入cout单独的行(每个在ostream_iterator的构造函数重载中指定的分隔符).
| 归档时间: |
|
| 查看次数: |
9146 次 |
| 最近记录: |