Uczę sie C++ od dzisiaj i stanąłem przed problemem otwierania pliku. Przeszukałem i forum i Google, ale nigdzie nie znalazłem rozwiązania mojego prostego problemu.
string file_get_contents(string nazwa, string wypis) {
fstream baza;
ifstream href = "bazy/"+nazwa+".txt";
baza.open(href,std::ios::in|std::ios::out);//baza.open(href);
if(baza.good()==true){
std::cout<<"Uzyskano dostep do wybranej bazy!\n"<
//operacje odczytu danych
string dane;
while(!baza.eof()) {
getline(baza,dane);
wypis += dane+"\n";
}
baza.close();
} else {
std::cout<<"Dostep do pliku bazy zostal zabroniony!\n"<
}
return wypis;
}
Zbudowałem sobie taką oto funkcję, ale w miejscu “baza.open(href,std::ios::in|std::ios::out);” mam błąd. Jak zrobię “baza.open(“adres.pliku”,std::ios::in|std::ios::out);” to działa, ale ja chcę mieć ten adres pliku zmienny. We wszystkich przykładach w Internecie adresy sa statyczne dlatego nie mogłem odszukać rozwiązania mojego problemu
Z góry dziękuję za pomoc i przepraszam jeśli ten temat został już poruszony.
Przepraszam, ale w kodzie, który wysłałem jest błąd
string file_get_contents(string nazwa, string wypis) {
fstream baza;
string href = "bazy/"+nazwa+".txt";
baza.open(href,std::ios::in|std::ios::out);//baza.open(href);
if(baza.good()==true){
std::cout<<"Uzyskano dostep do wybranej bazy!\n"<
//operacje odczytu danych
string dane;
while(!baza.eof()) {
getline(baza,dane);
wypis += dane+"\n";
}
baza.close();
} else {
std::cout<<"Dostep do pliku bazy zostal zabroniony!\n"<
}
return wypis;
}
Chcę otworzyć plik, do którego link jest podany w zmiennej… “ifstream href = “bazy/”+nazwa+”.txt";" pisząc w ten sposób chciałem tylko coś sprawdzić i zapomniałem tego zmienić… Co mam zrobić, żeby funkcja “open” przyjęła za nazwę pliku wartość zmiennej href - jakiego typu ma być ta zmienna??