Скопируйте n байтов данных x в файл - PullRequest
8 голосов
/ 25 ноября 2011

Как мы можем скопировать, например, 10 байтов '7' в файл?

Как я могу сгенерировать эти 10 байтов 7?

Например, для n байтов с нулем I 'я делаю dd if=/dev/zero of=myFile bs=1 count=10.

Ответы [ 3 ]

13 голосов
/ 25 ноября 2011

Вы можете отправить нули на стандартный вывод и перевести их на 7, или как хотите.

dd if=/dev/zero bs=1 count=10 | tr "\0" "\7" > file.bin
1 голос
/ 25 ноября 2011

перенаправить вывод echo на dd

echo 7777777777 | dd of=myFile bs=1 count=10

или

echo -e '\x7\x7\x7\x7\x7\x7\x7\x7\x7\x7' | dd of=myFile bs=1 count=10

, если вам нужно двоичное представление 7

0 голосов
/ 25 ноября 2011

В: Как мы можем скопировать, например, 10 байтов '7' в файл?

A: "ДД", конечно, на выбор. Один из многих:)

Как мне сгенерировать эти 10 байтов из 7?

A: Как хотите. Например, вы можете написать программу на C:

#include<stdio.h>

#define MY_FILE "7";

char my_data[] = {
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa
};

int
main (int argc, char *argv[])
{  
  FILE *fp = open (MY_FILE, "wb");
  if (!fp) {
    perror ("File open error!");
    return 1;
  }
  fwrite (my_data, sizeof (my_data), fp);
  fclose (fp);
  return 0;
}
...