gpt4 book ai didi

c++ - 没有得到预期的结果 - 字符串连接

转载 作者:行者123 更新时间:2023-11-30 00:38:53 26 4
gpt4 key购买 nike

我编写(复制并修改)了一段代码,目的是将文件中的所有行连接成一个字符串。但是我得到了意想不到的结果。

//Fillvector.cpp

#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int main() {
vector<string> v;
ifstream in("Fillvector.cpp");
string line;
string finalString="";
while(getline(in, line))
v.push_back(line);
for(int i=0; i < (int)v.size(); i++) {
finalString += v[i];
}
cout << finalString << endl;
}

我在终端上得到的结果是

}nt maincout << finalString << endl;(); i++) {

怎么了?

最佳答案

看起来您的 endl 字符只是一个 CR,没有跟随 LF。这意味着每个额外的行输出都会覆盖上一行,因此您将看到的是每列中显示的最后一个字符。


仔细一看,问题出在线路上

finalString += v[i];

应该是

finalString += v[i] + "\n";

否则,您将连接以 CR(回车)字符结尾但没有 LF(换行或换行)字符的字符串。

关于c++ - 没有得到预期的结果 - 字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9649902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com