在换行符后从文件中打印出字符串
Posted
技术标签:
【中文标题】在换行符后从文件中打印出字符串【英文标题】:Printing out strings from a file after newline 【发布时间】:2015-02-21 06:33:11 【问题描述】:我正在尝试将我的文本文件的内容作为字符串输出到控制台,但我没有得到所需的输出。我尝试实现以下但仍然没有运气,任何帮助将不胜感激。
int main()
ifstream inFile("src/text.rtf");
string line;
while (getline(inFile, line))
cout << line << endl;
return 0;
Text contents:
1
2
3
4
5
6
Output:
\rtf1\ansi\ansicpg1252\cocoartf1344\cocoasubrtf720
\fonttbl\f0\fswiss\fcharset0 Helvetica;
\colortbl;\red255\green255\blue255;
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\ tx7920\tx8640\pardirnatural
\f0\fs24 \cf0 1\
2\
3\
4\
5\
6
【问题讨论】:
您的文件不是纯文本文件。这是一个RTF (rich text format) 文件。它不仅包含您输入的文本,还包含有关文本在文字处理程序中的外观的格式信息。您用于打印文件行的代码是正确的,但getline
不会自动为您解析 rtf 文件,而只会为您提供文本。
【参考方案1】:
这是因为您的inFile
文件不是“纯”文本文件,而是格式代码为Rich Text Format。
请使用 notepad.exe 创建您的inFile
【讨论】:
以上是关于在换行符后从文件中打印出字符串的主要内容,如果未能解决你的问题,请参考以下文章
在 Pandas DataFrame 中的字符串内漂亮地打印换行符
windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号