Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Чтение из файла

17K
10 июня 2006 года
talyanyx
3 / / 10.06.2006
Замена определенных слов в файле на фиксированную последовательность (###). Запись результата в выходной файл. Использовать FileMapping. Список заменяемых слов содержится в файле, имя которого передается в качестве параметра.
алгоритм:
Открытие файла с текстом и отображение его в память; открытие файла со словами и выделение под него соответствующего объема памяти; копирование заменяемых слов в память; организация поиска заменяемых слов в основном файле и замена на фиксированную последовательность.
386
11 июня 2006 года
newcss
297 / / 05.04.2005
Стандартная задача для 1 курса.
Открываешь файл при помощи


Код:
char *start,prog;
[SIZE=2][COLOR=#0000ff]start = new char[MAX_PROG_SIZE];
if[/COLOR][/SIZE][SIZE=2]([COLOR=#0000ff]start==[/COLOR][/SIZE][SIZE=2]NULL)
{
printf("FATAL ERROR:No memory"); [/SIZE][SIZE=2][COLOR=#008000]// неудалось выделить память под программу
[/COLOR][/SIZE][SIZE=2]exit(1);
}
prog=start;
[/SIZE]
 
 
 
 
 
[SIZE=2]FILE *fp;
[/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] i=0;
fp=fopen(name,"rb");   /// тут открываем файл с заданным именем
[/SIZE][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][SIZE=2](fp==NULL) sntx_err(FILE_NULL);  // если неможем открыть то выводим                                                 //ошибку
else{
 
[/SIZE][SIZE=2][COLOR=#0000ff]do
[/COLOR][/SIZE][SIZE=2]{
[/SIZE][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2] ch=getc(fp);
*prog=ch;
prog++;
} [/SIZE][SIZE=2][COLOR=#0000ff]while[/COLOR][/SIZE][SIZE=2](!feof(fp));
[/SIZE]}


Что-то вроде вот такого, тут мы считали файл в компьютер. Ну а дальше веди поиск =) циклом while, можешь влоб искать, а можешь воспользоваться алгоритмами поиска различными....

Какие фразы, точнее как их загрузить из другого файла? А все так же, тем же самым способом, грузи их в структуру и ищи =).
13K
11 июня 2006 года
Dr_C++
40 / / 07.06.2006
Я реализовывал подобную задачу с помощью примерно такого кода:

Код:
FILE *file;
file = fopen("Имя файла","r");

int result = 0;
char buffer[128];

    while(1)
    {
        result = fscanf(file, "*%s", buffer);   //считываем слово из файла в буфер
        if(result == EOF)
                             break;

        if(stricmp(buffer, "Нужное слово для сравнения") == 0)
        {  
                         //если слово, считаное из файла совпадает с нужным
                         //нам словом, то делаем необходимые действая...
                         //например записываем его в результирующий файл...
                         fprintf(Переменная, связаная с результирующим файлом,"%s",buffer);
            continue;
        }
         }
386
11 июня 2006 года
newcss
297 / / 05.04.2005
В данной задаче проще считать целиком весь файл а затем вести поиск, вдобавок этот вариант будет считывать инфу построчно,если не ошибаюсь, а если вести нада поиск по фразе и одна часть фразы на одной строке, а другая на другой =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог