[C++] String lezen uit bestand

Pagina: 1
Acties:

  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 16-08 02:25
Ik probeer nu al een hele tijd een string uit een bestand te lezen, maar ik krijg het maar niet klaar. Het probleem zit hem erin, dat ik geen "cin >> mijnString" of iets dergelijks kan gebruiken, en de aanroep van cin.getline is mij alles behalve duidelijk. Als ik een char[] gebruik in plaats van een string werkt het in zoverre dat ik een zin kan lezen tot de eerst volgende spatie, maar ik wil hem lezen tot "\0".
Ik weet het echt niet meer, de help kan ik niets mee vinden en mijn boeken helpen me ook niet echt. (ps: dit is geen schoolwerk, maar eigen probeersel).
Kan iemand me een hint geven in de goede richting, of misschien een stukje voorbeeldcode ?

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 16:13

.oisyn

Moderator Devschuur®

Demotivational Speaker

C++:
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>

int main ()
{
    using namespace std;

    string str;
    cin >> str;
    cout << "u heeft ingevoerd: " << str << endl;
    return 0;
}


werkt prima hier hoor :?


Dit leest overigens ook tot de eerstvolgende spatie, als je echt tot het eind zou willen lezen zou je std::getline () kunnen gebruiken:

C++:
1
2
string str;
getline (cin, str, '\0');

[ Voor 30% gewijzigd door .oisyn op 09-01-2003 17:09 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Je moet de juiste includes gebruiken zoals in het voorbeeld hierboven. Dan moet het gewoon werken. Geen problemen hiero

  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 16-08 02:25
.oisyn schreef op 09 januari 2003 @ 17:07:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>

int main ()
{
    using namespace std;

    string str;
    cin >> str;
    cout << "u heeft ingevoerd: " << str << endl;
    return 0;
}


werkt prima hier hoor :?


Dit leest overigens ook tot de eerstvolgende spatie, als je echt tot het eind zou willen lezen zou je std::getline () kunnen gebruiken:

C++:
1
2
string str;
getline (cin, str, '\0');
ZWAAR bedankt :D!!!!

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.