Fopen c
Автор Вадим Литвин задал вопрос в разделе Другие языки и технологии
Как пользоватся fopen() в C++ и получил лучший ответ
Ответ от Ra[гуру]
Если у тебя небольшие текстовые файлы, то можешь считать все содержимое файла прямо в буфер в памяти, а потом просто работать уже этим буфером, как с длинной строкой или массивом. Как-то так:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
char *buf;
int sz;
// открыл файл
FILE *fd = fopen("test.c", "r");
if ( !fd ) {
printf("error open file
");
return;
}
// узнал размер
fseek(fd, 0, SEEK_END);
sz = ftell(fd);
fseek(fd, 0, SEEK_SET);
// выделил нужное количество памяти
buf = malloc(sz + 1);
// прочитал содержимое файла
sz = fread(buf, 1, sz, fd);
fclose(fd);
buf[sz] = ' ';
// работаешь со строкой в памяти
printf("%s", buf);
free(buf);
return 0;
}
> To ra (предыдущий ответчик) Тогда уж проще отмаппить файл в память, чем копировать его.. .
Как мне попроще отмапить файл в память под виндой, под linux'ом и в контроллере с кастрированным DOS'ом, в котором никаких "отмапить" отродясь не было? Желательно, чтобы было поменьше кода и программа компилировалась для любой из систем, буду благодарен за совет.
почитай тута:
Встречные вопросы:
- Искать какие палиндромы? Слова-палиндромы или фразы-палиндромы?
- Что ткаое слово? Последовательность символов, для которых isalpha() дает 1? Или последовательность, которая вводится через scanf("%s")?
Про указатели кники толстые пишут. Ты расчитываешь, те тут быренько на пальцах все объяснят?
To ra (предыдущий ответчик) Тогда уж проще отмаппить файл в память, чем копировать его...
никак
указатели -
fopen -
это разные вещи. я так и не понял, о чем вопрос