Hallo,
ich bin noch Programmieranfaenger und habe eine Funktion geschrieben, die ich aufrufen moechte. Die Funktion sucht in einem Feld nach Leerzeichen und schreibt den Inhalt, der nach den Leerzeichen kommt in einen neuen string, der dann in ein char umgewandelt wird.
Wenn ich die im Hauptprogramm aufrufen moechte:
bekomme ich folgende fehlermeldung:
Ich denke, es gibt Probleme, weil nur der Pointer uebergeben wird und nicht wirklich der Inhalt. Ich brauche aber den Inhalt des Feldes aus meiner Funktion im Hauptprogramm. Wie stelle ich das an?
Ich waere fuer jede Hilfe dankbar.
ich bin noch Programmieranfaenger und habe eine Funktion geschrieben, die ich aufrufen moechte. Die Funktion sucht in einem Feld nach Leerzeichen und schreibt den Inhalt, der nach den Leerzeichen kommt in einen neuen string, der dann in ein char umgewandelt wird.
Code:
char FileIO::IgnoreWS(char* string)
{
std::string nstring;
int i=0;
while(string[i] == ' ')
{
i++;
}
nstring += string;
nstring=nstring.substr(i);
const char* cstring = nstring.c_str();
printf(cstring); //das was ich mir hier ausgebe, brauche ich in meinem Hauptprogramm!
return *cstring;
}
Wenn ich die im Hauptprogramm aufrufen moechte:
Code:
char cstring[256];
cstring = IgnoreWS(line); //line ist als char line[256] definiert und enthaelt eine Zeile einer eingelesenen Textdatei
bekomme ich folgende fehlermeldung:
Code:
error C2440: '=' : cannot convert from 'char' to 'char [256]'
There are no conversions to array types, although there are conversions to references or pointers to arrays
Ich denke, es gibt Probleme, weil nur der Pointer uebergeben wird und nicht wirklich der Inhalt. Ich brauche aber den Inhalt des Feldes aus meiner Funktion im Hauptprogramm. Wie stelle ich das an?
Ich waere fuer jede Hilfe dankbar.