Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]Problem z getlnie

Ostatnio zmodyfikowano 2012-01-19 14:02
Autor Wiadomość
xevuel
» 2012-01-19 13:44:36
A może tak:
C/C++
char buf[ 50 ];
cin.getline( buf, 50 );
? Mi w każdym razie to działa.
P-48740
CodeMeister
» 2012-01-19 13:45:41
Hopie wez zamiast tablicy znaków stringa
C/C++
string FileName;
getline( cin, FileName );

i nie ma problemu
P-48741
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...
C/C++
#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;
}
P-48742
CodeMeister
» 2012-01-19 13:52:33
FileName.c_str() spróbuj, mi działało wiele razy
P-48743
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 ?
P-48744
CodeMeister
» 2012-01-19 14:02:13
no więc zamiast:
C/C++
int main()
{
    char * FileName[ 100 ];
    string fraza;
    //...
   
    cin >> FileName;
    getline( cin, fraza );
   
    //...
    return 0;
}

napisz:
C/C++
int main()
{
    string FileName;
    getline( cin, Filename );
    //...
   
    fstream plik;
    plik.open( FileName.c_str(), ios::in ); //Line fixed by DejaVu
    //...

chyba, że koniecznie chcesz mieć tą tablice znaków...
P-48745
1 « 2 »
Poprzednia strona Strona 2 z 2