Potrzebuję pomocy przy napisaniu programu, który ma za zadanie przeszukać plik tekstowy i wyszukać w nim dane słowo.
Mam taki kod:
Kod: Zaznacz cały
#include <iostream>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <sys/mman.h>
using namespace std;
int main(int argc, char *argv[])
{
int fd;
struct stat plik;
size_t ile_bajtow;
char *mapa;
string wyraz;
fd = open("tekst", O_RDWR);
if(fd == -1)
cout << "Nie udało się otworzyć pliku.\n";
else
cout << "Hurra!!!\n";
fstat(fd, &plik);
cout << "Rozmiar pliku: " << plik.st_size << "\n";
mapa = (char*)mmap(NULL, plik.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
cout << "Podaj wyraz do wyszukania: ";
cin >> wyraz;
int n = wyraz.size();
char bufor[n];
ile_bajtow = n;
int x = plik.st_size;
if(x < n)
cout << "Plik ma mniejszy rozmiar niż poszukiwany wyraz.\n";
else
read(fd, bufor, ile_bajtow);
if(bufor == wyraz) <-- Tutaj coś nie działa tak jak bym oczekiwał. ???
cout << bufor;
else
cout << "$$$$$$$$ blada\n";
return 0;
}
Czy trzeba zamienić zmienną typu string na tablicę znaków? Z góry dziękuję za pomoc.
