Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C+中拆分字符串+;_C++_String_Converters_Txt - Fatal编程技术网

C++ 在C+中拆分字符串+;

C++ 在C+中拆分字符串+;,c++,string,converters,txt,C++,String,Converters,Txt,我想知道如何在整数之前拆分字符串。可能吗? 我已经编写了一个转换器,它从一个旧的txt文件下载数据,对其进行编辑,并将其以新的形式保存在一个新的txt文件中 例如,旧文件看起来像: 新行中的每个数据。 转换后的新文件应如下所示: 表示整数之后的所有数据都应位于新的不同行中 我的代码包括在下面。现在我有一个字符串作为buf,没有任何白色符号: 我想将其拆分,如示例所示 #include <iostream> #include <fstream> #include &l

我想知道如何在整数之前拆分字符串。可能吗? 我已经编写了一个转换器,它从一个旧的txt文件下载数据,对其进行编辑,并将其以新的形式保存在一个新的txt文件中

例如,旧文件看起来像:

新行中的每个数据。 转换后的新文件应如下所示:

表示整数之后的所有数据都应位于新的不同行中

我的代码包括在下面。现在我有一个字符串作为buf,没有任何白色符号:

我想将其拆分,如示例所示

#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main () {

    string fileName;

    cout << "Enter the name of the file to open: ";
    cin >> fileName;

    ifstream old_file(fileName + ".txt");
    ofstream new_file("ksiazka_adresowa_nowy_format.txt");

    vector <string> friendsData;
    string buf;
    string data;

    while(getline(old_file, data)) {
        friendsData.push_back(data);
    }
    for(int i=0; i<friendsData.size() ; ++i) {
        buf+=friendsData[i] + '|';
    }
    new_file << buf;

    old_file.close();
    new_file.close();

    return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(){
字符串文件名;
cout>文件名;
ifstream旧_文件(文件名+“.txt”);
流新_文件(“ksiazka_adresowa_nowy_format.txt”);
媒介友好数据;
字符串buf;
字符串数据;
while(getline(旧文件、数据)){
friendsData.push_back(数据);
}

对于(int i=0;i您可以尝试将当前字符串解析为int;如果成功,您可以在
buf
中添加一个换行符。这不会完全拆分字符串,但在将其发送到文件时会产生您想要的效果,并且可以很容易地进行调整,以实际剪切字符串并将其发送到向量


用于(int i=0;iIt最好在问题中以文本形式显示源字符串以及您希望将其拆分为的内容。请以文本形式显示您得到的结果,并将其与您想要的结果进行比较。例如,用英语描述它们的不同之处,这有助于澄清目标和问题。这可能有助于您找到改进算法的方法赛尔夫。对不起,伙计们。我刚刚编辑了《postGood》。继续整合反馈。谢谢你,尼克。我读到使用名称空间std是一个坏习惯,但我是自学成才,很难找到好的学习材料。如果只是因为我们倾向于大胆指出坏习惯,那么StackOverflow绝对是一个学习好编码习惯的好地方s:P说真的,很高兴你能做到这一点,祝你未来的代码好运!哈哈,我会找时间看看这里。再次感谢你!