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] = *command

    oder &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


Anmelden zum Antworten