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

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

Восстановить пароль Регистрация
 
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
30.12.2011, 16:21     Чтение из файлов по "маске" #1
Проблема такова: есть файл в котором описаны функции(они также объявлены и описаны в программе).
Например:
C++
1
2
Func1(1,2);
Func2(3,4);
Как сделать, чтобы после прочтения 1-ой строки из файла, программа использовала функцию Func1 с параметрами 1 и 2, если это возможно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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     Чтение из файлов по "маске"
Ответ Создать тему
Опции темы

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