【问题标题】: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 文件,而只会为您提供文本。

标签: c++ string file-io


【解决方案1】:

这是因为您的inFile 文件不是“纯”文本文件,而是格式代码为Rich Text Format

请使用 notepad.exe 创建您的inFile

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2014-12-14
    相关资源
    最近更新 更多