2015-02-21 4 views
0

Я пытаюсь вывести содержимое моего текстового файла как строки в консоль, но я не получаю желаемый результат. Я попытался реализовать следующее, но все равно не повезло, любая помощь будет оценена.Печать строк из файла после новой строки

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} 
+3

Ваш файл не является обычным текстовым файлом. Это файл [RTF (форматированный текст)] (http://en.wikipedia.org/wiki/Rich_Text_Format). Он содержит больше, чем только текст, который вы ввели, он содержит информацию о форматировании, как выглядит текст в программе обработки текстов. Код, который вы использовали для печати строк файла, верен, но 'getline' не будет автоматически анализировать файл rtf для вас и давать вам только текст. –

ответ

2

Это потому, что ваш файл inFile не является «чистым» текстовый файл, но с кодом форматирования Rich Text Format.

Пожалуйста, используйте notepad.exe, чтобы создать свой inFile

Смежные вопросы