如何使用 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
如果一切顺利,您可以使用fopen
、fwrite
等方式向其中读写文件
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);
我想在 /dev/mmcblk0
上创建一个文件,如果它不存在,然后写入它。我的问题是如何检查sdcard中是否已经有这样的文件然后访问它,它是否显示为/dev/mmcblk0/somefile
?
/dev/mmcblk0
指向一个驱动器,因此您需要先安装该驱动器,然后才能查看其中可用的文件或创建新文件。
您应该先使用命令mount(8)挂载设备。这将导致设备的文件系统附加到您系统的文件系统,因此,您可以像往常一样访问设备上的文件。例如:
mount /dev/mmcblk0 /home/yooo123/sdcard
如果一切顺利,您可以使用fopen
、fwrite
等方式向其中读写文件
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);