【发布时间】: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 文件,而只会为您提供文本。