C++ 将文本转换为C+中的csv文件+;?

C++ 将文本转换为C+中的csv文件+;?,c++,csv,C++,Csv,我得到了一个文本文件,其中包含很多行,如下所示: 数据[0]:a=123 b=234 c=3456 d=4567 e=123.45 f=234.56 我正在尝试提取数字,以便将其转换为csv文件,以便excel导入并识别它 我的逻辑是,找到“”字符,然后切掉数据。例如,在第一个 “第二个”。它可行吗?我一直在尝试,但没有成功 实际上我想创建一个csv文件,比如 a、 b、c、d、e、f 1232343456。。。。喋喋不休 23434567。。。。喋喋不休 但这项具体任务似乎很难完成。 是否有任

我得到了一个文本文件,其中包含很多行,如下所示:

数据[0]:a=123 b=234 c=3456 d=4567 e=123.45 f=234.56

我正在尝试提取数字,以便将其转换为csv文件,以便excel导入并识别它

我的逻辑是,找到“”字符,然后切掉数据。例如,在第一个 “第二个”。它可行吗?我一直在尝试,但没有成功

实际上我想创建一个csv文件,比如

a、 b、c、d、e、f

1232343456。。。。喋喋不休

23434567。。。。喋喋不休

但这项具体任务似乎很难完成。
是否有任何实用程序/更好的方法可以帮助我做到这一点

我建议你看看,这是我找到的最好的方法。你可以在网上找到几个例子。也看看这个

步骤:对于每一行:

  • 使用
    字符将字符串分成两部分
  • 使用空格字符将右侧部分剪切为多个字符串
  • 使用
    =
    字符分隔这些值,并将它们填充到
    std::vector
  • 将这些值放入文件中
  • 最后一部分可以是:

    std::ofstream f( "myfile.csv" );
    for( const auto& s: vstrings )
        f << s << ',';
    f << "\n";
    
    流f的std::(“myfile.csv”); 用于(常量自动&s:vstrings)
    f没有非标准库的简单方法是:

    std::string line;
    while (getline(input_stream, line))
    {
        std::istringstream iss(line);
    
        std::string word;
        if (is >> word)   // throw away "data[n]:"
        {
            std::string identifier;
            std::string value;
            while (getline(iss, identifier, '=') && is >> value)
                std::cout << value << ",";
            std::cout << '\n';
        }
    }
    
    std::字符串行;
    while(getline(输入\流,行))
    {
    标准::istringstream iss(线);
    字符串字;
    if(is>>word)//扔掉“数据[n]:”
    {
    字符串标识符;
    std::字符串值;
    while(getline(iss,标识符“=”)&&is>>值)
    
    STD::这个解决方案似乎可行。我不是C++专业人士,而是新手。它意味着我可以下载整个Boost库,然后放到某个地方(我不知道把它放在哪里)。,这样我就可以使用这些功能了?我正在使用Visual Studio 2013,我已经选择了boost目录的其他包含目录,在#include语句中没有错误,但是有一些错误,如“错误:命名空间”boost“没有成员”char#separator“。发生了什么?第二条评论:你检查了吗?试着让示例作为一个独立的程序工作,然后根据你的用例进行详细说明。