| |
| |
| |
| |
|
|
| |
|
|
| #include <stdio.h> |
|
|
| #include <emscripten/emscripten.h> |
|
|
| int main() { |
| EM_ASM( |
| var stream = FS.open('testfile', 'w+'); |
|
|
| var data = new Uint8Array(128); |
| var str = "Hello! "; |
| stringToUTF8Array(str, data, 0, lengthBytesUTF8(str)+1); |
| data = data.subarray(0, lengthBytesUTF8(str)); |
| FS.write(stream, data, 0, lengthBytesUTF8(str), 0, true); |
| var pos = lengthBytesUTF8(str); |
|
|
| str = '1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'; |
| data = new Uint8Array(str.length+1); |
| stringToUTF8Array(str, data, 0, lengthBytesUTF8(str)+1); |
| FS.write(stream, data, 0, lengthBytesUTF8(str)+1, pos, false); |
|
|
| FS.close(stream); |
|
|
| var ex; |
| try { |
| FS.write(stream, data, 0, lengthBytesUTF8(str)+1, pos, false); |
| } catch (err) { |
| ex = err; |
| } |
| assert(ex.name === 'ErrnoError' && ex.errno === 8 ) |
| ); |
|
|
| FILE* file = fopen("testfile", "r"); |
| char* line = NULL; |
| size_t n; |
| getline(&line, &n, file); |
| printf("read %s\n", line); |
| free(line); |
|
|
| return 0; |
| } |
|
|