我无法向 c++ 添加新行细绳

发布于 10-01 09:32 字数 217 浏览 5 评论 0原文

如何向 C++ 字符串添加新行?我正在尝试读取文件,但是当我尝试附加“\n”时,它不起作用。

std::string m_strFileData;
while( DataBegin != DataEnd ) {
    m_strFileData += *DataBegin;
    m_strFileData += '\n';
    DataBegin++;
}

How do you add a new line to a c++ string? I'm trying to read a file but when I try to append '\n' it doesn't work.

std::string m_strFileData;
while( DataBegin != DataEnd ) {
    m_strFileData += *DataBegin;
    m_strFileData += '\n';
    DataBegin++;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

深海不蓝2024-10-08 09:32:03

如果您有很多行需要处理,那么使用 stringstream 可能会更有效。

ostringstream lines;

lines << "Line 1" << endl;
lines << "Line 2" << endl;

cout << lines.str();   // .str() is a string

输出:

Line 1
Line 2

If you have a lot of lines to process, using stringstream could be more efficient.

ostringstream lines;

lines << "Line 1" << endl;
lines << "Line 2" << endl;

cout << lines.str();   // .str() is a string

Output:

Line 1
Line 2
薆情海2024-10-08 09:32:03

对于迟到的答案,我深表歉意,但我遇到了类似的问题,直到我意识到 Visual Studio 2010 char* 可视化工具会忽略 \r\n人物。他们完全被排除在外。

注意:我所说的可视化工具是指将鼠标悬停在 char*(或 string)上时所看到的内容。

Sorry about the late answer, but I had a similar problem until I realised that the Visual Studio 2010 char* visualiser ignores \r and \n characters. They are completely ommitted from it.

Note: By visualiser I mean what you see when you hover over a char* (or string).

李不2024-10-08 09:32:03

只是猜测,但也许您应该将字符更改为字符串:

 m_strFileData += '\n';

如下所示:

 m_strFileData += "\n";

Just a guess, but perhaps you should change the character to a string:

 m_strFileData += '\n';

to be this:

 m_strFileData += "\n";
手心的温暖2024-10-08 09:32:03

这将在每个字符或字符串后附加一个换行符,具体取决于 DataBegin 的实际类型。您的问题不在于您给出的代码示例。如果您给出预期结果和实际结果以及所使用变量的数据类型,将会更有用。

This would append a newline after each character, or string depending on what type DataBegin actually is. Your problem does not lie in you given code example. It would be more useful if you give your expected and actual results, and the datatypes of the variables use.

孤凫2024-10-08 09:32:03

试试这个:

ifstream inFile;
inFile.open(filename);
std::string entireString = "";
std::string line;

while (getline(inFile,line))
{
   entireString.append(line);
   entireString.append("\n");
}

Try this:

ifstream inFile;
inFile.open(filename);
std::string entireString = "";
std::string line;

while (getline(inFile,line))
{
   entireString.append(line);
   entireString.append("\n");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文