Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

работа с файлами

74K
12 сентября 2011 года
s92p
1 / / 12.09.2011
у меня есть прога, но мне ножно переделать ее под C........... выручите, пожалуйста

считывает текст из файла и выводит на экран только строки,
содержащие двузначных чисел.


Код:
#include <iostream>
#include <stdio.h>
#include <string>
#include <fstream>
#include <Windows.h>
 
int main()
{
        std::fstream myfile;
        std::string parse_string,word;
        std::string::size_type beg_idx = 0, end_idx = 0;
        const std::string delim_string (" ");
        int howManyStrings = 0;
        bool onlyTwo = true;
        myfile.open("file.txt",std::ifstream::in);
 
        while(!myfile.eof())
        {
                beg_idx = 0, end_idx = 0;
                getline(myfile,parse_string); //Ваш 2й пункт.
                howManyStrings++; //Ваш 1й пункт.
                /*Ваш 3й пункт написан очень убого. Приведите пример данных из файла. Я так понимаю это чтото подобное:
                11 11 22 55 33 66 88 44 99
                111 222 5555 8888 77 99
                Если, и только если, я прав, то Вам поможет следующее:*/
                while(std::string::npos != (beg_idx = parse_string.find_first_not_of( delim_string, end_idx )))
                {
                        if ( std::string::npos == (end_idx = parse_string.find_first_of( delim_string, beg_idx )) )
                        {
                                word = parse_string.substr ( beg_idx );
                                if(word.size()!=2){onlyTwo = false;break;}
                        }
                        else
                        {
                                word = parse_string.substr ( beg_idx, end_idx - beg_idx );
                                if(word.size()!=2){onlyTwo = false;break;}
                        }
                }
                if (onlyTwo)
                        std::cout << parse_string << std::endl;
        }
        std::cout << "string number: " << howManyStrings << std::endl;
        system("pause");
        return 0;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог