我无法在c ++字符串中添加新行

时间:2010-11-08 21:07:45

标签: c++ newline escaping

如何在c ++字符串中添加新行?我正在尝试读取文件但是当我尝试追加'\ n'时它不起作用。

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

5 个答案:

答案 0 :(得分:8)

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

ostringstream lines;

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

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

输出:

Line 1
Line 2

答案 1 :(得分:2)

对于迟到的回答感到抱歉,但在我意识到Visual Studio 2010 char*可视化工具忽略\r\n个字符之前,我遇到了类似的问题。完全省略了它们。

注意:通过可视化工具,我的意思是当您将鼠标悬停在char*(或string)上时看到的内容。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

 m_strFileData += '\n';

是这样的:

 m_strFileData += "\n";

答案 4 :(得分:0)

试试这个:

.fb {
  position: absolute;
  top: 0px;
  right: 5px;
  z-index: 100;
}
.tweeter {
  position: absolute;
  top: 20px;
  right: 5px;
  z-index: 100;
}
img {
  overflow: hidden;
}
div {
  height: 250px;
  width: 250px;
  display: inline;
}