[C++]Problem z getlnie
Ostatnio zmodyfikowano 2012-01-19 14:02
xevuel |
» 2012-01-19 13:44:36 A może tak: char buf[ 50 ]; cin.getline( buf, 50 );
? Mi w każdym razie to działa. |
|
CodeMeister |
» 2012-01-19 13:45:41 Hopie wez zamiast tablicy znaków stringa
string FileName; getline( cin, FileName );
i nie ma problemu |
|
Kiegoo Temat założony przez niniejszego użytkownika |
» 2012-01-19 13:51:16 @GrzesiekR 1. Proszę po polsku pisać ... 2. Akurat plik.open(//...) przyjmuje tylko chary @xevuel Dalej nie działa. Proszę na dowód że używam fstream... #include <iostream>
#include <string.h> #include <fstream> using namespace std;
bool search( string & tekst, string fraza ) { size_t pos = tekst.find( fraza ); if( pos == string::npos ) return false; else return true; }
int main() { string bufor; string fraza; int iLinie = 0; char FileName[ 100 ]; cin >> FileName; getline( cin, fraza ); fstream plik( FileName, ios::in ); if( plik.good() == false ) { cout << "Nie mozna otworzyc pliku !"; plik.close(); return 0; } else { while( !plik.eof() ) { iLinie++; getline( plik, bufor ); if( search( bufor, fraza ) == true ) { cout << "Znaleziono w lini " << iLinie << endl; } } } return 0; }
|
|
CodeMeister |
» 2012-01-19 13:52:33 FileName.c_str() spróbuj, mi działało wiele razy |
|
Kiegoo Temat założony przez niniejszego użytkownika |
» 2012-01-19 13:55:51 Zostawisz tego mojego FileName i pomożesz mi z tym getline w końcu ? |
|
CodeMeister |
» 2012-01-19 14:02:13 no więc zamiast:
int main() { char * FileName[ 100 ]; string fraza; cin >> FileName; getline( cin, fraza ); return 0; }
napisz:
int main() { string FileName; getline( cin, Filename ); fstream plik; plik.open( FileName.c_str(), ios::in );
chyba, że koniecznie chcesz mieć tą tablice znaków... |
|
1 « 2 » |