Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение из файла, Извлечь из файла дроби 
:(
    Опции темы
Recev
Дата 18.5.2011, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 18.10.2010

Репутация: нет
Всего: нет



Нужно с помощью fstream прочитать из файла дроби.
Файл будет такого вида:
Цитата

2/3 + 4/5 * 3/2 =

Нужно прочитать дроби и операторы.
PM MAIL   Вверх
triclosan
Дата 18.5.2011, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: 2
Всего: 12



getline потом парсить
PM MAIL   Вверх
Recev
Дата 18.5.2011, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 18.10.2010

Репутация: нет
Всего: нет



Как пользоваться getline?
Пробовал так, не работает:
Код

    ifstream fl("F:\fl.txt", ios::in);
    char ch;
    getline(fl, ch);

PM MAIL   Вверх
Alca
Дата 18.5.2011, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 2
Всего: 50



Код

ifstream fl("F:/fl.txt", ios::in);


Добавлено через 22 секунды
or
Код

ifstream fl("F:\\fl.txt", ios::in);


Добавлено через 2 минуты и 29 секунд
http://www.cplusplus.com/reference/iostream/ifstream/open/


--------------------
PM WWW ICQ Skype Jabber   Вверх
Recev
Дата 18.5.2011, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 18.10.2010

Репутация: нет
Всего: нет



Ругается на getline
Цитата

[BCC32 Error] File1.cpp(14): E2268 Call to undefined function 'getline'
  Full parser context
    File1.cpp(11): parsing: void main()


Это сообщение отредактировал(а) Recev - 18.5.2011, 18:01
PM MAIL   Вверх
Alca
Дата 18.5.2011, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 2
Всего: 50



Код

std::getline



--------------------
PM WWW ICQ Skype Jabber   Вверх
Recev
Дата 18.5.2011, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 18.10.2010

Репутация: нет
Всего: нет



Я с Borland C++ компилирую.
PM MAIL   Вверх
Alca
Дата 18.5.2011, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 2
Всего: 50



и что?


--------------------
PM WWW ICQ Skype Jabber   Вверх
Recev
Дата 18.5.2011, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 18.10.2010

Репутация: нет
Всего: нет



Не работает этот код вообще.

Вот помогите исправить код, который просто читает из файла несколько значений:
Код

void main()
{
int x, y;
char cr;
    ifstream fl("F:\fl.txt");
    fl >> x >> right >> cr >> right >> y;
    cout << x << "  " << y << "  " << cr << endl;
    getch();
}


Файл:
Цитата

43 ttf 29

PM MAIL   Вверх
Modul
Дата 18.5.2011, 22:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Читает строки:

Код

#include <iostream>
#include <fstream>


int main()
{
            
    std::ifstream bis("C:\\file1.txt", std::ios::in);
    char *buf;
    
    while(!bis.eof())
    {        
        buf = new char[32];
        
        bis.getline(buf, 32, '\n');
        
        std::cout << buf << std::endl;

        delete[] buf;
     }
    

    bis.close();

    return 0;
}

--------------------
I'll be back !
PM MAIL   Вверх
triclosan
Дата 18.5.2011, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 515
Регистрация: 18.8.2006

Репутация: 2
Всего: 12



Цитата(Modul @  18.5.2011,  22:32 Найти цитируемый пост)
 buf = new char[32];

почему не char buf[32] конкретная цель приследуется использовнием динамики ?


PM MAIL   Вверх
Modul
Дата 18.5.2011, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Просто для примерчика.
--------------------
I'll be back !
PM MAIL   Вверх
borisbn
Дата 19.5.2011, 00:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(Recev @  18.5.2011,  20:16 Найти цитируемый пост)
Не работает этот код вообще.

Цитата(Recev @  18.5.2011,  20:16 Найти цитируемый пост)
ifstream fl("F:\fl.txt");

тебе ж Alca говорил
Цитата(Alca @  18.5.2011,  17:56 Найти цитируемый пост)

fstream fl("F:/fl.txt", ios::in);
или
ifstream fl("F:\\fl.txt", ios::in);




--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Recev
Дата 23.5.2011, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 18.10.2010

Репутация: нет
Всего: нет



А как мне сделать такой цикл, что-бы программа записывала в n* массив числительные, знаменательные и операцию?
Например:
2/3 + 6/8 + 4/5 * 4/9 =
Сначала прочитало 2/3 + 6/8 +, а затем 4/5 * 4/9 =.
Длина файла может изменятся.


Код

        const n = 10;
        char cr1, cr2;
    ifstream fl("F:\\fl.txt");
        int ch[n], znam[n];
        for (int i = 0; i < n; i++)
        {
         fl >> ch[i] >> cr1 >> zn[i] >> cr2; // значения прочли, теперь их наверное надо удалить из файла? или как?
         
        }
    



Это сообщение отредактировал(а) Recev - 23.5.2011, 19:10
PM MAIL   Вверх
Recev
Дата 28.5.2011, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 18.10.2010

Репутация: нет
Всего: нет



Ап
А если дроби будут без операторов, например так:
Цитата

2/3
5/9
1/2

как их прочесть?

Это сообщение отредактировал(а) Recev - 28.5.2011, 09:51
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0927 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.