Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
#1

Чтение из файлов по "маске" - C++

30.12.2011, 16:21. Просмотров 626. Ответов 4
Метки нет (Все метки)

Проблема такова: есть файл в котором описаны функции(они также объявлены и описаны в программе).
Например:
C++
1
2
Func1(1,2);
Func2(3,4);
Как сделать, чтобы после прочтения 1-ой строки из файла, программа использовала функцию Func1 с параметрами 1 и 2, если это возможно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2011, 16:21     Чтение из файлов по "маске"
Посмотрите здесь:

Чтение матрицы "по спирали" C++
C++ предлагаю программу людям "альтернативное копирование файлов в проводнике"
C++ Построчное чтение, с "возвратом" назад
Сказ о программисте начинающем с классами бьющимся! (решил отабгрейдить свою "умную" копирывалку файлов) C++
Функции и файлы. Чтение и запись данных в файл. Структура "Ноутбук" C++
Ошибка "чтение памяти невозможно" во время перехода к строке с функцией C++
Программа, находящая папку по её полному "пути" и подсчитывающая количество файлов в ней C++
Класс "Дроби". Как собрать приложение из трёх файлов? C++
C++ Поиск файлов c расширением ".jpg" в папке
Чтение/запись структуры "Клиент" из текстового файла C++
Получить файл из данных других трёх файлов, используя "ссылки" четвёртого C++
Доделать удаление элемента для линейного списка "Каталог файлов" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
30.12.2011, 19:04     Чтение из файлов по "маске" #2
Всё что в голову пришло.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#define MAX_FUNCS  2
int Func1(int a, int b) {   return a*b; }
int Func2(int a, int b) {   return a+b; }
 
int main(void)
{
   FILE* fp;
   int n, a, b;
 
   typedef int (Func)(int a, int b);
   Func* funcs[MAX_FUNCS] = {  Func1, Func2 };
 
   if(! (fp = fopen("func.txt", "r")))
        return 1;
   while(fscanf(fp, "Func%d(%d,%d);%*c", &n, &a, &b) == 3) {
        if(n >= 1 && n <= MAX_FUNCS)
             printf("%d\n", (*funcs[n-1])(a, b));
   }
   fclose(fp);
   getchar();
   return 0;
}
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
30.12.2011, 19:52  [ТС]     Чтение из файлов по "маске" #3
Спасибо.

Добавлено через 16 минут
Вопрос: что значит "%*c" в fscanf?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
30.12.2011, 19:56     Чтение из файлов по "маске" #4
Цитата Сообщение от SDmaN Посмотреть сообщение
Вопрос: что значит "%*c" в fscanf?
игнорировать символ, в данном случае речь идет о символе перевода строки, который остается в потоке и в последствии может привести к неработоспособности программы.
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
30.12.2011, 20:10  [ТС]     Чтение из файлов по "маске" #5
Я так понял в этом примере названия функций в файле могут быть только Func1, Func2, Func3(если описать)и т.д. А можно ли сделать, чтобы взависимости от названия(буквенного) выполнялось действие?
Yandex
Объявления
30.12.2011, 20:10     Чтение из файлов по "маске"
Ответ Создать тему
Опции темы

Текущее время: 17:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru