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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с символами и строками, switch case 
:(
    Опции темы
bsa
Дата 28.9.2009, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(Kataklysm @ 28.9.2009,  14:06)
Только вот не понял функцию "stringstream", что она вообще делает? Объясни пожалуйста. smile

P.S. Хочется понимать smile.

Вот здесь я указал, где можно почитать.
PM   Вверх
Kataklysm
Дата 28.12.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
using namespace std;

int main ()
{
        char c;
        ifstream is;
        string s;
        is.open ("file.dat"); // открытие файла
        //Ошибка открытия файла
        if (is==NULL)
            {cout << "ОШИБКА ОТКРЫТИЯ ФАЙЛА!"<<endl;
            cout << "Нажмите любую клавишу для выхода."<<endl;
            getc (stdin);
            return 0;
            }
        else
        cout << "Вывод данных из файла:"<<endl;
        while(is.good())
            {
                c=is.get();
                if(is.good())
                    cout<<c;
            }
        is.close();
        is.open ("file.dat");
        cout << endl<<endl;
        cout <<"Для продолжения нажмите <Enter>"<<endl;
        getc(stdin);
        string buf;
        while(getline(is,buf))
            {
            int kol=0;
            stringstream b(buf);
            while(b.get(c))
                    {
                    if((c >= '0') && (c <= '9'))
                    kol++;
                    }
                cout << "Количество десятичных чисел в строке: " << kol << endl;
            }
        cout<<endl;
        is.close();     //закрываем файл


Только как теперь из десятичных чисел if((c >= '0') && (c <= '9')) выполнить вывод в hex ? Спасибо.
PM MAIL   Вверх
bsa
Дата 28.12.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



вообще-то, твой код считает количество десятичных цифр, а не чисел. Если тебе не известно, то число от цифры отличается тем, что число может состоять из одной или более цифр, разделителя групп разрядов, разделителя целой и дробной частей и знаков '-' или '+' в начале.

Десятичные цифры являются подмножеством шестнадцатиричных. Таким образом, любая десятичная цифра равна шестнадцатиричной.

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

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

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

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

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


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

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


 




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


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

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