Wczytywanie pliku tekstowego do tablicy

Wczytywanie pliku tekstowego do tablicy
PO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 33
0

Cześć głowię się dlaczego mój plik tekstowy nie chce przejść do tablicy, tekst wprowadzony z klawiatury bez problemu lokuje się w niej natomiast już z pliku nie chce ..

Kopiuj
#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

int main()
{

fstream plik;
plik.open("tekst.txt", ios::in);

char tekst[100000];

getline(plik, tekst);

cout << tekst;

cout << endl<< endl<< endl;
cout<<"Podaj wzorzec: ";
  cin.getline(wzorzec,100);


    return 0;
}

enedil
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1028
3

Jesteś pewien, że plik się faktycznie otwiera? Dorzuć coś takiego:

Kopiuj
fstream plik;
plik.open("tekst.txt", ios::in);
if (!plik) {
    std::cerr << "Failed to open tekst.txt. Exiting...\n";
    return 1;
}
vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
0

Najlepiej sprawdzaj kazda operacje We/Wy

PO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 33
0
Kopiuj
#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

int main()
{

fstream plik;
plik.open("tekst.txt", ios::in);
if (!plik) {
    std::cerr << "Failed to open tekst.txt. Exiting...\n";
    return 1;
}

char tekst[1000];

getline(plik, tekst);

cout << tekst;

cout << endl<< endl<< endl;
cout<<"Podaj wzorzec: ";
  cin.getline(wzorzec,100);


    return 0;
}

Wyskakuje:
error: no matching function for call to 'getline(std::fstream&, char [1000])'|

BO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 214
0

http://www.cplusplus.com/reference/string/string/getline/ z tego co widać getline przyjmuje za drugi argument stringa.

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
0

W C++ masz taki typ jak std::string i nie musisz zgadywać jakiej wielkości będzie wczytana linia.

PO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 33
0

Ok, więc przeszedłem na stringi natomiast nie rozumiem, dlaczego nie zaznacza mi "^" miejsc występowania wzorca

Kopiuj
#include <iostream>
#include <string>
#include <cstdlib>
#include <time.h>
#include <fstream>

using namespace std;

int main( )
{
  string s, p;
  int i;

fstream plik;
plik.open("tekst.txt", ios::in);
if (!plik) {
    cout << "Failed to open tekst.txt. Exiting...\n";
    return 1;
}

getline(plik, s);

cout<<"Podaj wzorzec: ";
 getline( cin, p );


  cout << s << endl;


  // szukamy wzorca w łańcuchu

  for( i = 0; i < 58; i++ )
    cout << ( p == s.substr ( i, 3 ) ? "^": " " );

  cout << endl << endl;
  return 0;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.