In mijn programma wil ik een reeks karakters (in een array) weergeven.
Nu heb ik hiervoor 2 manieren om te testen.
waarvan de uitvoer is.
Opzicht niets verkeerd mee dacht ik zo.
Nu probeer ik het volgende (omdat op bovenstaande manier soms de tekens willekeurig op het scherm verschijnen (dus random x en y posities))
(btw, de buffergrootte is 16)
en de uitvoer is
als je goed vergelijkt zie je dat de ascii tekens (de meest rechtse) niet op dezelfde posities staan. Voor zover ik het kan controleren klopt de onderste manier beter dan de bovenste omdat hex ca = decimaal 202 = ascii (t-splitsing zeg maar, zie & #9577;).
Waardoor wordt dit verschil veroorzaakt? Ik kan hier nergens iets over vinden (omdat ik niet exact weet hoe dit genoemd wordt).
sorry als het een beetje vaag lijkt, ik weet niet hoe ik het duidelijker kan uitleggen.
Ohja.. compiler is gcc 3.3.3 (onder linux/debian) en mingw (bij Dev-C++ 4.9.8.7) onder Win XP
Nu heb ik hiervoor 2 manieren om te testen.
C:
1
| printf("%16s", buffer); |
waarvan de uitvoer is.
code:
1
2
| 0x000000 : ca fe ba be 00 00 00 2e 00 10 07 00 0c 07 00 0d ╩■║╛ 0x000010 : 07 00 0e 01 00 05 70 6f 77 65 72 01 00 |
Opzicht niets verkeerd mee dacht ik zo.
Nu probeer ik het volgende (omdat op bovenstaande manier soms de tekens willekeurig op het scherm verschijnen (dus random x en y posities))
C:
1
2
| for (i = 0; i < strlen(buffer); i++) printf("%c ", buffer[i]); |
(btw, de buffergrootte is 16)
en de uitvoer is
code:
1
2
| 0x000000 : ca fe ba be 00 00 00 2e 00 10 07 00 0c 07 00 0d ╩ ■ ║ ╛ 0x000010 : 07 00 0e 01 00 05 70 6f 77 65 72 01 00 |
als je goed vergelijkt zie je dat de ascii tekens (de meest rechtse) niet op dezelfde posities staan. Voor zover ik het kan controleren klopt de onderste manier beter dan de bovenste omdat hex ca = decimaal 202 = ascii (t-splitsing zeg maar, zie & #9577;).
Waardoor wordt dit verschil veroorzaakt? Ik kan hier nergens iets over vinden (omdat ik niet exact weet hoe dit genoemd wordt).
sorry als het een beetje vaag lijkt, ik weet niet hoe ik het duidelijker kan uitleggen.
Ohja.. compiler is gcc 3.3.3 (onder linux/debian) en mingw (bij Dev-C++ 4.9.8.7) onder Win XP
[ Voor 12% gewijzigd door cenix op 08-05-2004 12:59 ]