Kann man nicht char* durch string ersetzen ?
-
ich hab da ein kleines Problem, ich dachte ein STL-String hat eine automatische Typkonvertierung zu char* eingebaut, aber folgendes compiled bei mir nicht:
string test cin.getline(test, 256, '&');dagegen funktioniert das problemlos:
char test[256]; cin.getline(test, 256, '&');Jemand ne Idee wie ich diese Funktionalität mit string machen kann, oder geht das nicht?
-
mußt wohl hinterher kopieren..
char test[256]; cin.getline(test, 256, '&'); string line=test; //copy
-
#include <iostream> #include <string> using namespace std; ... getline(cin, test, '&');
-
@Bashar: Bei deiner methode kann ich leider aber nicht die Länge der Eingabe festlegen, deshalb wollte ich die Methode nicht. Ich verwende das ganze um die Eingaben für ein CGI-Programm zu lesen, und die haben leider kein erkennbares Ende des Datenstroms, d.h. man muss mitzählen.
Es würde mir auch reichen wenn es eine Funktion gibt die eine bestimte Anzahl Zeichen von STDIN in einen String lesen kann. Das mit dem Abschlusszeichen muss nicht sein, kann ich auch nachher machen.