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

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

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

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

30.12.2011, 16:21. Просмотров 646. Ответов 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++ Необработанное исключение в "0x104b2288" в "Matrix.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcd
Поменять знак " $ " на " * " к первому вхождению символа " ? " C++
Строка: заменить первую "о" на "а", удалив остальные "о" C++
Все слова, не содержащие "bc" и заканчивающиеся на "ad" заменить на "!" C++
C++ Двусвязный список с объектом трех типов: "целое число", "вещественное число", "строка"
Чтение матрицы "по спирали" C++
C++ предлагаю программу людям "альтернативное копирование файлов в проводнике"
C++ Написать интерфейс "Парсер" с методом парсинга (разбора) файлов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
914 / 739 / 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
Заблокирован
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     Чтение из файлов по "маске"
Ответ Создать тему
Опции темы

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