String Array -> Speicherverletzung



  • Guten Tag zusammen,

    warum kann ich Strings hier nicht genauso behandeln wie nummerische Arrays?

    #include "stdafx.h"
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	char zeichen[] = {'A', 'B', 'C', 'D', 'E', 'F' };
    	unsigned short ws[] = {6,3,3,2,2,2};
    	int i;
    	for(i=1;i<6;i++) {
    		printf("Das Zeichen %s hat die WS %d\n",zeichen[i],ws[i]);
    	} // ende for
    	system("PAUSE");
    	return 0;
    }
    

    Vielen Dank



  • mach aus dem %s ein %c
    🙂



  • char zeichen[] = {'A', 'B', 'C', 'D', 'E', 'F' };
    

    Das ist im übrigen kein String. Er ist nämlich nicht nullterminiert.

    Noch eine Anregung: Falls du schon Strukturen kennst, pack doch jeweils ein Zeichen sowie das zugehörige WS in eine Struktur und leg dann ein Array davon an.


Anmelden zum Antworten