Wczytywanie pliku tekstowego do tablicy

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 ..

#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;
}
3

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

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

Najlepiej sprawdzaj kazda operacje We/Wy

0
#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])'|

0

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

0

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

0

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

#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;
}

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