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

Чтение из файла - C++

Восстановить пароль Регистрация
 
Artjom_ja
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 22
15.03.2011, 19:21     Чтение из файла #1
C++
1
2
3
4
5
6
7
8
9
10
    FILE *fp;
    char gf[6], a1[3], a2[3], a3[3];
    int a, i, j, k;
    fp = fopen ("database.txt", "r");
    do
    {
        fscanf (fp, "%[^><=!] %*[><=!] %[^0-9] %*[0-9] %s", a1, a2, a3);
        printf ("%s %s %s\n", a1, a2, a3);
    }
    while (fscanf(fp, "%c", gf)!= EOF);
Нужно считать строки из файла, в строках записаны 2 числа которые сравниваются, например: 5!=7 - вот нужно распределить первое число в а1, знаки а2, и второе число в а3.

Программа выводит непонятные символы. Проблема точно в "%[^><=!] %*[><=!] %[^0-9] %*[0-9] %s" помогите её найти
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2011, 19:21     Чтение из файла
Посмотрите здесь:

C++ Чтение из файла.
Чтение из файла C++
C++ Чтение из файла
C++ Чтение из файла
Чтение из файла. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
15.03.2011, 19:47     Чтение из файла #2
зачем вам вот это?!
"%[^><=!] %*[><=!] %[^0-9] %*[0-9] %s"
что это вообще?
считывайте так
C
1
fscanf("%s %s %s",&a1,&a2,&a3)
у вас тогда в a1 будет первое число,в a2 знак ,ну а в a3 второе число
Либо!Считываете всю строку
C
1
gets(str);
а дальше просто из нее выбираете числа и знаки выборкой.
Artjom_ja
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 22
15.03.2011, 20:58  [ТС]     Чтение из файла #3
Цитата Сообщение от Rexer Посмотреть сообщение
C
1
fscanf("%s %s %s",&a1,&a2,&a3)
у вас тогда в a1 будет первое число,в a2 знак ,ну а в a3 второе число
попробовал, получилось что в а1, а2, а3 записываются строки
Цитата Сообщение от Rexer Посмотреть сообщение
Либо!Считываете всю строку
C
1
gets(str);
а дальше просто из нее выбираете числа и знаки выборкой.
так не катит
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
15.03.2011, 21:03     Чтение из файла #4
а вам что надо считать то?
вот в файле
C
1
3 > 8
C
1
2
3
4
int a4,a5;
scanf("%s %s %s",&a1,&a2,&a3);
a4 -=48;
a5-=48;
у вас в a5 и a4 числа нужные
Artjom_ja
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 22
15.03.2011, 21:16  [ТС]     Чтение из файла #5
Вот полное содержание файла:
5!=7
6==8
5<=3
5>=1
2>5
Надо все правильно построчно считать и провести дальнейшие действия которые я не скопировал,т.к. они не важны если правильно не считать
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
15.03.2011, 21:46     Чтение из файла #6
понимаете,fscanf читает до пробела,поэтому,либо надо ставить пробелы типа
5 != 7
6 == 8
5 <= 3
5 >= 1
2 > 5
Либо читать строку и делать выборку символов,благо она не сложная
Yandex
Объявления
15.03.2011, 21:46     Чтение из файла
Ответ Создать тему
Опции темы

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