Я пытаюсь удалить пробелы, содержащиеся в файле, и после того, как я прочитал его с помощью mmap, я продолжаю, удаляя пробелы с помощью цикла for и перебирая следующий указатель на текущий индекс, но это не кажется работать. Вот мой код для иллюстрации:
static unsigned long get_size_by_fd(int fd) {
struct stat statbuf;
if(fstat(fd, &statbuf) < 0) exit(-1);
return statbuf.st_size;
}
fd = open("/home/text.txt", O_RDONLY);
file_size = get_size_by_fd(fd);
fb = mmap(0, file_size, PROT_READ || PROT_WRITE, MAP_SHARED, fd, 0);
for (i = 0; i<file_size; i++) {
if (fb[i] == 0x20) {
fb[i] = fb[i++];
}
}