Strings in Arrays kopieren und mit Funktion zurückgeben (Anfänger)
-
Kann mir wer weiterhelfen, ich komm einfach nicht weiter:
Ich versuche Strings aus der Datei auszulesen, Sie dann in den Array einzuspeichern und zurückzugeben.
Ich bekomme immer die Error-Meldung:*D:\MOBYTERM\MOBYTERM.cpp(731) : error C2440: '=' : 'char ' kann nicht in 'char [10]' konvertiert werden
Dies ist der Code:
char* getCommands(void) { char szBuffer[250]; char szCommands[100][10]; BOOL isSuccess; unsigned long Length; int iFehler; int i = 0; hFile = CreateFile("command",GENERIC_READ,FILE_SHARE_READ,NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, NULL); if(hFile != INVALID_HANDLE_VALUE) { isSuccess = ReadFile(hFile, szBuffer, 500, &Length, NULL); if(!isSuccess) { iFehler = GetLastError(); sprintf(szBuffer, "ReadFile schlägt fehl: %d", iFehler); MessageBox(hWnd,szBuffer,"Fehler!",MB_OK | MB_ICONERROR); } CloseHandle(hFile); } char *command; command = strtok(szBuffer,";"); //fügt nach dem ; das Null-Terminierungs-Zeichen an!! command = strtok(szBuffer,"\n"); SendMessage(hSelector, LB_ADDSTRING, 0, (LPARAM) command); while(command = strtok(0,"\n")) { szCommands[i] = command; i++; //SendMessage(hSelector, LB_ADDSTRING, 0, (LPARAM) command); } return *szCommands; }
egal ob ich szCommands[i] = &command oder
szCommands[i] = *commandoder &szCommands[i] = command
usw...
probiere, nichts funktioniert.hab auch schon probiert char* szCommand und dann initializieren in der Schleife mit szCommand = new char[100][sizeof(command)]
bzw wieder alle Möglichkeiten durch mit * oder & davor...
(Ich muss sagen , ich kenn mich auch nicht so gut aus mit diesen Pointern, ich probier immer aus, wies funktioniert
...)
-
http://www.c-plusplus.net/forum/viewtopic.php?t=39497
das problem bekommst du weg in den du dir funktion strncpy (bzw. strcpy) ankugst oder gleich mir std::string anfänsgt