Пытаюсь открыть файл, который находится на диске С, но выдает ошибки
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("C:\\Test.txt");
if(fin.good()){
fin.open ("C:\\Test.txt", ios::out | ios::app | ios::binary);
}else{
cout<<"No"<<endl;
}
if(!fin.is_open()){
cout<<"First try"<<endl;
}else{
cout<< "Opened!"<< endl;
string str="abs";
while(!fin.eof()){
str=" ";
getline(str)
cout<<str<<endl;
}
}
fin.clear();
return 0;
}
Я изменил строчку где fin.open(...), но раньше было так и IDE ругалось
string path= "Test.txt";
ifstream fin;
if(fin.good()){
fin.open (path);-->no matching function for call to 'std::basic_ifstream<char> :: open(std::string&)'
}else{
cout<<"No"<<endl;
}
А вот какую ошибку выдает с строчкой где getline
string str="abs";
while(!fin.eof()){
str=" ";
getline(str);-->no mathcing function for call to 'getline(std::string&)'
cout<<str<<endl;
}
Как исправить ошибки?
Так у вас ошибки при компиляции, а не при открытии файла :)
Просто смотрите описание функций, и все получится...
fin.open(path.c_str());
потому что ему нужна C-строка
getline(str);
тут вы вообще просто забыли указать, откуда читать. Ну откуда компилятору это знать? Укажите
getline(fin,str);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости