На прошлой неделе я начал посещать занятия по С ++ в университете. На данный момент я просто знаю некоторый C язык, который немного смущает меня при изучении C ++. У меня есть это упражнение, которое говорит: «Напишите и используйте библиотеку fstream для чтения текстового файла. Функция должна записывать на экране каждую текстовую строку, прочитанную из файла (с пробелами).»
Я написал код ниже, который может написать строку, но без пробелов. Я также слышал о getline, но я не знаю, как его использовать, компилятор все время говорит: «Нет подходящей функции для вызова getline».
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
file_read(){
ifstream origem;
origem.open("ficheiro.txt");
if (!origem) {
cerr << "Error" << endl;
return -1;
}
char outp[100];
while(!origem.eof() ){
origem >> outp;
cout << outp;
}
return 0;
}
Например: если у меня есть в ficcheiro.txt
"У моей собаки есть кость", программа напишет это как "Mydoghasabone"
Так что с getline я попробовал это:
...
ifstream origem;
origem.open("ficheiro.txt");
if (!origem) {
cerr << "Error" << endl;
return -1;
}
char outp[100];
getline(origem, outp);
origem >> outp;
cout << outp;
return 0;
}
Компилятор сказал: [Ошибка] нет подходящей функции для вызова 'getline (std :: ifstream &, std :: char [100])'
Моя проблема заключается в том, чтобы просто прочитать файл с пробелами!
У меня также есть некоторые проблемы с изучением C ++, я начал изучать «Классы» и использовать CMD, и я даже не знаю, что я изучаю. Вы знаете, где я могу узнать C ++ более понятным способом?