Проверка правильности всех кодов ascii выводится из скомпилированной программы на C с помощью strace - PullRequest
0 голосов
/ 22 мая 2019

Я создаю программу, в которой в конечном итоге я могу отправить любой набор кодов 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 напечатает все, но это не сработало.

...