Как создать и записать файл на SDCard с linux? - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу создать файл на /dev/mmcblk0, если он еще не существует, а затем записать в него. У меня вопрос, как проверить, есть ли уже такой файл на SDCard, а затем получить к нему доступ, он отображается как /dev/mmcblk0/somefile?

Ответы [ 2 ]

2 голосов
/ 01 апреля 2020

/dev/mmcblk0 указывает на диск, поэтому вам необходимо сначала смонтировать диск, прежде чем вы сможете увидеть, какие файлы на нем доступны, или создать новые файлы.

1 голос
/ 01 апреля 2020

Вы должны использовать команду mount (8) , чтобы сначала смонтировать устройство. Это приведет к тому, что файловая система устройства будет присоединена к файловой системе вашей системы, и, следовательно, вы сможете получать к ней доступ к файлам, как обычно. Например:

mount /dev/mmcblk0 /home/yooo123/sdcard

Если все идет хорошо, вы можете читать и записывать в него файлы, используя fopen, fwrite, et c.

FILE *fp = fopen("/home/yooo123/sdcard/file.txt", "w");
...
fprintf(fp, "Hello, SD Card!\n");

Однако, если вы хотите сделать все это из C программы , найдите системный вызов mount (2) .

int mount(const char *source, const char *target,
      const char *filesystemtype, unsigned long mountflags,
      const void *data);
...