Я создаю программу, в которой в конечном итоге я могу отправить любой набор кодов ascii на пользовательское внешнее аппаратное устройство.
Что я хочу сделать, так это убедиться, что любой набор символов, которые я выводил, действительно выводится,В качестве теста я сделал эту программу, чтобы попытаться вывести каждое значение ascii:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
int n;
char Q[1000];
char V[100];
V[1]='\0';
for (n=0;n<256;n++){
sprintf(V,"%c",n);
Q[n]=V[0];
}
Q[n]=0;
printf("Result = %s",Q);
return 0;
}
После компиляции и запуска strace в программе я получаю это в конце:
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f4f000
write(1, "Result = "..., 9Result = ) = 9
exit_group(0) = ?
Так что sortof пытается сказать мне правильный вывод, но как я могу сделать так, чтобы выводились все коды, и поэтому я вижу:
write(1, "Result = \00\01\02\03\04\05\....
со всеми кодами вплоть до \ 255?
Я также изменил n с 0 на 1, чтобы пропустить нулевой символ в надежде, что printf напечатает все, но это не сработало.