相关疑难解决方法(0)

如何迭代字符串的单词?

我正在尝试迭代字符串的单词.

可以假设该字符串由用空格分隔的单词组成.

请注意,我对C字符串函数或那种字符操作/访问不感兴趣.另外,请在答案中优先考虑优雅而不是效率.

我现在最好的解决方案是:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main()
{
    string s = "Somewhere down the road";
    istringstream iss(s);

    do
    {
        string subs;
        iss >> subs;
        cout << "Substring: " << subs << endl;
    } while (iss);
}
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方式来做到这一点?

c++ string split

2895
推荐指数
43
解决办法
214万
查看次数

为什么"使用命名空间std"被认为是不好的做法?

我已经告诉别人,编写using namespace std;代码是错误的,我应该用std::coutstd::cin直接代替.

为什么被using namespace std;认为是不好的做法?是低效还是冒着声明模糊变量(与名称std空间中的函数具有相同名称的变量)的风险?它会影响性能吗?

c++ namespaces using-directives std c++-faq

2486
推荐指数
36
解决办法
78万
查看次数

解析以逗号分隔的std :: string

如果我有一个包含以逗号分隔的数字列表的std :: string,那么解析数字并将它们放在整数数组中的最简单方法是什么?

我不想将其概括为解析其他任何内容.只是一个逗号分隔整数的简单字符串,如"1,1,1,1,2,1,1,1,0".

c++ csv string parsing stl

122
推荐指数
7
解决办法
26万
查看次数

使用C++ 11拆分字符串

使用c ++ 11拆分字符串最简单的方法是什么?

我已经看过这篇文章所使用的方法,但我觉得使用新标准应该采用一种不那么冗长的方式.

编辑:我希望得到一个vector<string>结果,并能够划分单个字符.

c++ string split c++11

51
推荐指数
5
解决办法
9万
查看次数

字符串流定界符

我正在解析一个 CSV 文件,该文件具有已知的string,int,int,double.

我正在编写一个逐行解析 CSV 文件的函数。我正在尝试设计它,使其看起来像这样:

void foo(const string& csvline){
  std::stringstream csvStream(csvline);
  std::string s; int i1; int i2; double d;
  csvline >> s;
  csvline >> i1;
  csvline >> i2;
  csvline >> d;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法对 CSV 文件执行此操作?

我知道如果它们之间用空格分隔,那么这将是开箱即用的。但是对于 CSV 文件(或任意分隔符)呢?

c++ string parsing stream

1
推荐指数
1
解决办法
4791
查看次数

标签 统计

c++ ×5

string ×4

parsing ×2

split ×2

c++-faq ×1

c++11 ×1

csv ×1

namespaces ×1

std ×1

stl ×1

stream ×1

using-directives ×1