给出输入:const char input[] = "lorem\t, ipsum"
和预期的输出:char first[size(input)]
和second[size(input)]
,我可以这样做:
sscanf(input, "%s , %s", first, second);
使用,
忽略空格和定界字符。我想对流进行相同的操作,但是我能想到的最好的方法是:
istringstream foo(input);
foo >> first;
foo.ignore(numeric_limits<streamsize>::max(), ',');
foo >> second;
我真正想要的是更多类似的东西:
istringstream(input) >> first >> ',' >> second;
但显然这是非法的。我想到了:
我不知道是否有一个更优雅的解决方案,我当然希望可以做一些内联的事情,类似于sscanf
解决方案。