Keine Vernünftige Ausgabe mit TextOut...



  • ist wohl ein Zeichen zu viel.
    Vielleicht das \0?
    TextOut arbeitet mit nicht mit 0 terminierten Strings,
    deswegen muss man die Länge angeben.



  • Melan schrieb:

    ist wohl ein Zeichen zu viel.
    Vielleicht das \0?
    TextOut arbeitet mit nicht mit 0 terminierten Strings,
    deswegen muss man die Länge angeben.

    Habe ich auch schon überlegt, aber ich lege doch einen UNICODE-String an... Ich dachte diese haben kein "\0".



  • doch haben sie



  • sie haben nämlich 2 \0!!!!



  • IchStammeAusBurma schrieb:

    sie haben nämlich 2 \0!!!!

    Nein. Sowohl ein normaler Ansi-String als auch ein UNICODE-String werden durch ein '\0' beendet. Das ist bei einem UNICODE-String allerdings 2 Byte lang.



  • Belli schrieb:

    IchStammeAusBurma schrieb:

    sie haben nämlich 2 \0!!!!

    Nein. Sowohl ein normaler Ansi-String als auch ein UNICODE-String werden durch ein '\0' beendet. Das ist bei einem UNICODE-String allerdings 2 Byte lang.

    ja 2 \0!!!!



  • IchStammeAusBurma schrieb:

    Belli schrieb:

    IchStammeAusBurma schrieb:

    sie haben nämlich 2 \0!!!!

    Nein. Sowohl ein normaler Ansi-String als auch ein UNICODE-String werden durch ein '\0' beendet. Das ist bei einem UNICODE-String allerdings 2 Byte lang.

    ja 2 \0!!!!

    Nein. 2 Byte mit dem Wert 0. 2 mal \0? Was soll das sein? \0 sind zwei Zeichen. 2 mal \0 sind schon 4 ...
    Und falls Du '\0' meinst: Davon ist nur eines vorhanden!



  • \0 is 1 byte mit 8 nullen also hat unicode 2 \0 is doch klar, bist du doof oder sowas?



  • IchStammeAusBurma schrieb:

    \0 is 1 byte mit 8 nullen also hat unicode 2 \0 is doch klar, bist du doof oder sowas?

    \0 ist nicht ein Byte mit 8 Nullen. Zeig mal eine Codezeile, in der Du mit \0 irgendwas machst.
    Und '\0' ist nur im Ansicode ein Byte mit dem Wert 0. In UNICODE ist es ein Wort mit dem Wert 0.
    Du kennst offensichtlich nicht den Unterschied zwischen
    \0
    und
    '\0'.



  • erzähle doch keine blöde sinn, das macht doch keine sinn. bist du denn voll doof? 😮



  • Dieser Argumentation habe ich nix mehr entgegenzusetzen ...



  • dann sollten sie vielleicht mal mehr lesen, dann können sie auch besser argumentieren, wie wäre es zb. hiermit Aufzeichnungen aus dem Kellerloch | ISBN: 3596161746

    aber nun lassen sie auch den thread des armen threaderstellers in frieden, diese diskussion hilft ihm bei seinem problem nicht weiter!



  • Du kannst ja mal mit diesem Unicode-Programm herumexperimentieren:

    #include <windows.h>
    #include <stdio.h>
    
    int main(void)
    {
    	int i, count;
    	WCHAR string[20];    
    
    	// Damit wir sicher sind, dass keine Zufallswerte drinstehen ...
    	for(i = 0; i < 20; ++i)
    		string[i] = 'X';
    
    	// Jetzt einen Text hineinschreiben ...
    	wsprintfW(string, L"%s", L"ich bin drin\n");
    
    	// Ausgeben, um zu sehen, ob alles korrekt ist ...
    	printf("%ls", string);
    
    	// Nun zählen, wie oft '\0' vorkommt
    	count = 0;
    	for(i = 0; i < 20; ++i)
    		if(string[i] == 0)
    			++count;
    
    	printf("%d mal '\\0' gefunden", count);
    }
    


  • dein code ist leider falsch, du falscher fuffziger

    #include <windows.h>
    #include <stdio.h>
    
    int main(void)
    {
        int i, count;
        WCHAR string[20];    
    
        // Damit wir sicher sind, dass keine Zufallswerte drinstehen ...
        for(i = 0; i < 20; ++i)
            string[i] = 'X';
    
        // Jetzt einen Text hineinschreiben ...
        wsprintfW(string, L"%s", L"ich bin drin\n");
    
        // Ausgeben, um zu sehen, ob alles korrekt ist ...
        printf("%ls", string);
    
        // Nun zählen, wie oft '\0' vorkommt
        count = 0;
        for(i = 1; i < 20 * sizeof(WCHAR); ++i)
            if(((char*)string)[i-1] == 0 && ((char*)string)[i] == 0)
                ++count;
        printf("%d mal '\\0' gefunden", count);
    	return 0;
    }
    


  • So langsam glaube ich, Du stammst aus Burma ...

    Wo ist denn der Code falsch? Oder bist Du nur zu blöd, ihn zu kompilieren und zu linken?
    Ist ja auch egal, wichtig ist, Du hast mal wieder was gesagt, gelle?


Anmelden zum Antworten