例子:
测试.xml:
<Test>
This is a test.
</Test>
这是读取每一行并将其添加到"file"字符串的代码:
std::ifstream infile("Test.xml");
if (infile.is_open()) {
while (!infile.eof()) {
std::getline(infile, buffer); // "buffer" variable was created before-hand
file += buffer;
}
}
但是当我输出"file"字符串时,它显示为:
<Test> This is a test </Test>
当我需要它保留其格式化属性时。
我很想知道是否有一种方法可以在读取文件时将制表符和换行符分别保留为“\t”和“\n”并将它们插入到字符串中?
最佳答案
std::getline(infile, buffer);
不会包含尾随换行符
您可以使用:
file += buffer + std::string(1,'\n');
使用这个所有的换行符都将被保留。
制表符和空格将已使用 std::getline(infile, buffer);
关于c++ - 将数据传递到字符串时如何保留文件的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18802398/