在换行符后从文件中打印出字符串

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 中的字符串内漂亮地打印换行符

wwindows文件放入linux后多出换行符

windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

PHP / JS;将不可见的换行符或换行符转换为html标记以进行打印

shell命令find

换行符不会连接