如何使用 linux 在 sdcard 上创建和写入文件?

How to create and write to a file on sdcard with linux?

我想在 /dev/mmcblk0 上创建一个文件,如果它不存在,然后写入它。我的问题是如何检查sdcard中是否已经有这样的文件然后访问它,它是否显示为/dev/mmcblk0/somefile

/dev/mmcblk0 指向一个驱动器,因此您需要先安装该驱动器,然后才能查看其中可用的文件或创建新文件。

您应该先使用命令mount(8)挂载设备。这将导致设备的文件系统附加到您系统的文件系统,因此,您可以像往常一样访问设备上的文件。例如:

mount /dev/mmcblk0 /home/yooo123/sdcard

如果一切顺利,您可以使用fopenfwrite等方式向其中读写文件

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);