char buf[1024]; int pos = 0; while (pos < 1024) { bool result = machine->ReadMem((int)&name[pos], 1, (int *)&buf[pos]); if (!result) { //Invalid memory access printf("Unable to open file: invalid filename\n"); return -1; } if (buf[pos] == 0) break; ++pos; } if (pos >= 1024) { //No null terminator printf("Unable to open file: invalid filename\n"); return -1; }