C++ 将文本转换为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。。。。喋喋不休 但这项具体任务似乎很难完成。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。。。。喋喋不休 但这项具体任务似乎很难完成。 是否有任
是否有任何实用程序/更好的方法可以帮助我做到这一点 我建议你看看,这是我找到的最好的方法。你可以在网上找到几个例子。也看看这个 步骤:对于每一行:
:
字符将字符串分成两部分=
字符分隔这些值,并将它们填充到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“。发生了什么?第二条评论:你检查了吗?试着让示例作为一个独立的程序工作,然后根据你的用例进行详细说明。