Odczyt pliku ze podaj ścieżki (WINDOWS)

0

Witajcie, mam np taki kodzik/funkcję:

void odczyt(string plik_odczyt)
{
 ifstream odczyt(plik_odczyt.c_str());
 while(!odczyt.eof())
 {                     
 //coś tam
 }
 odczyt.close();

}

jak zrobić, abym np mógł podać za zmienną string plik_odczyt C:/folder/plik.txt
i mi odczytało stamtąd? Oczywiście program mam gdzieś indziej na dysku.

0

Nie rozumiem twojego pytania.. Przecież masz funkcje wczytującą, tylko dodać w środku odczyt>>zmienna;
i w main wczytać ścieżkę..

0

Nie używaj tego sposobu czytania pliku z eof bo wpakujesz śmiecie do zmiennej odczytu .


std::string string_napis ;

while(getline(plik,string_napis,'\n')  // ogranicznik domyślnie znak końca wiersza
{

   cout << string_napis << endl ;

}

plik.close();

http://www.cplusplus.com/reference/string/getline/
//
ta ścieżka ma być wprowadzana z konsoli , czy pobierana z jakiegoś okna Edit .
Jak piszesz posty to podawaj trochę więcej informacji :-/

0
ta ścieżka ma być wprowadzana z konsoli , czy pobierana z jakiegoś okna Edit .

Z konsoli.

0
#include <string>
#include <iostream>
#include <fstream>
using namespace std ;

void odczyt(string & plik_odczyt)
{
     ifstream odczyt(plik_odczyt.c_str());

 if(!odczyt)
 {
    cout << "Nie mozna otworzyc pliku ." << endl ;
    cin.get();
    return ;
 }
  string napis ;

    while(getline(odczyt,napis,'\n'))  // ogranicznik domyślnie znak końca wiersza
    {

         cout << napis << endl ;

    }

        odczyt.close();

}

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{
   string path ;
   cin >> path ;
   odczyt(path);
   cin.sync();
   cin.get();
        return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1