Как я могу преобразовать целое число в значение / закодированный символ так же, как буфер, полученный с помощью read (0, buff, nbytes), когда я получаю одно и то же целое число? Я пытаюсь написать что-то похожее на read (), но с целочисленными данными вместо аргумента дескриптора файла, который читается в буфер.
like_read(int data,void *buff,size_t nbytes);
Он должен быть похож на read () в том смысле, что он должен считывать в буфер то же значение, что и read (0, buff, nbytes) из stdin в его буфер. когда я предоставляю целочисленный адрес непосредственно в виде буфера, без предварительного использования read (0, buff, nbytes), например,
int Integer=25
int nbytes=2;
int rlen,wlen,wlen1;
int fd = open("ttyusb.txt", O_RDWR | O_CREAT,0777);
wlen = write(fd, &Integer, nbytes);
wlen1 = write(1, &Integer, nbytes);//for stdout
close(fd);
Ожидаемый вывод
25
Фактическим содержимым вывода / файла является некоторый закодированный символ
, он не дает мне желаемого результата, так как сначала использует read () для чтения целого числа в буфер из stdinи затем запись этого буфера в файл с помощью write (), например:
int Integer;
int nbytes=2;
int rlen,wlen;
int fd = open("ttyusb.txt", O_RDWR | O_CREAT,0777);
rlen = read(0, &Integer, nbytes);
wlen = write(fd, &Integer, nbytes);
wlen1 = write(1, &Integer, nbytes);//for stdout
close(fd);
Stdin
25
Ожидаемый вывод
25
Фактический вывод / содержимое файла
25
когда я печатаю значение буфера после чтения (0, буфер, nбайт), он дает некоторое закодированное значение:
int Integer, nbytes=2;
int fd = open("ttyusb.txt", O_RDWR | O_CREAT,0777);
rlen = read(0, &Integer, nbytes);
wlen = write(fd, &Integer, nbytes);
wlen1 = write(1, &Integer, nbytes);
printf("\nInteger buffer value %d\n",Integer);
close(fd);
stdin 0 выводит "Integer buffer value 2608", stdin 1выдает «Целочисленное значение буфера 2609», stdin 2 печатает «Целочисленное значение буфера 2610», ..... stdin 9 печатает «Целочисленное значение буфера 2617» ...
какая кодировка считывается ()используя дляконвертировать целочисленные значения и как я могу сделать это преобразование без чтения ()?