ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
1184
1184
EMPFEHLEN
-
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.
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:
char cstring[256];
cstring = IgnoreWS(line); //line ist als char line[256] definiert und enthaelt eine Zeile einer eingelesenen Textdatei
bekomme ich folgende fehlermeldung:
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.
-
04.06.04 22:11 #2
Ich schätz mal des Problem liegt darin dass der Rückgabewert bei dir char ist und wie der Compiler schon sagt dass du, des in ein char[256] feld schreiben willst.
Ich würd mal schauen ob er die ganze Zeichenkette übergibt -> für mich is char 1 Zeichen
mfg
-
Du meinst, wenn ich statt:
return *cstring;
return cstring;
schreibe?
Das will er auch nicht...
Fehler: error C2440: 'return' : cannot convert from 'const char *' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Wie bekomme ich den Inhalt von cstring in meine Hauptroutine?
-
jetzt funktioniert's
Habe string statt char uebergeben.
Das einzige, was mich stoert, ist dass ich jedes mal im Programm in char umwandeln muss, weil ich sonst den Inhalt nicht mit sscanf lesen kann...
Trotzdem danke.
-
04.06.04 22:53 #5
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Wenn du schon so fortschrittlich bist, std::strings zu verwenden (dank C++), dann könntest du doch eventuell auch von sscanf auf std::istream umsteigen. In deinem Fall wäre vielleicht std::istringstream aus der Headerdatei <sstream> nützlich.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
Ähnliche Themen
-
DB Aufruf in einer Funktion
Von Tekkion im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 12.03.09, 10:29 -
Aufruf einer ActiveX DLL Funktion aus C
Von uni im Forum C/C++Antworten: 1Letzter Beitrag: 21.04.08, 17:06 -
Einmaliger Aufruf einer Funktion
Von Thopeto im Forum VisualStudio & MFCAntworten: 4Letzter Beitrag: 22.05.05, 17:32 -
Pointer auf zwei verschiedene Viewklassen mit einer Funktion
Von ensae im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 17.05.05, 12:16 -
Aufruf einer PHP-Funktion über JS
Von bastiglasl im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 19.07.04, 11:22





Zitieren
Login






