У меня есть код на C, который я хотел бы выполнить в браузере (тестирование с Firefox 64.0).Код C записывает файл на диск.
Я уже много часов пытаюсь использовать API файловой системы emscripten, и ничего не получаю.
Я прочитал это соответствующий вопрос и emscripten doc указывают то же самое:
- , если ваш код C / C ++ действительно использует файлы, то поддержка файловой системы будет автоматически включена.
Вот мой тестовый код, который использует файловую систему:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *f = fopen("testfile.txt", "w");
if (f == NULL) {
printf("Error opening file!\n");
exit(1);
}
const char *text = "This is my test string";
int i = 1234;
fprintf(f, "Some text: %s; and an int: %d\n", text, i);
fclose(f);
printf("End of file.\n");
}
После того, как я скомпилировал этот код с помощью:
emcc test.c -o test.html
И, открыв его с помощью Firefox, я изначальноожидал, что файл будет сохранен на моей машине.(У меня нет JS-фона.) Теперь я почти уверен, что он так не работает.
Файл доступен как Uint8Array через:
var array = FS.readfile("testfile.txt")
в консоли.
В частности, меня сейчас интересует это:
- Можно ли записать файл в мою локальную файловую систему из браузера?
- Можно ли загрузить созданноефайл каким-то образом?
Спасибо за ваше время.