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

string, getline() чтение строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Копирование данных через указатели http://www.cyberforum.ru/cpp-beginners/thread619870.html
Здравствуйте! Работаю над прототипом файловой системы, возникла проблема с функцией копирования: //копирует папку или файл указателями void copy (string path_from, string path_to, directory * dir) { directory * dir_from; directory * dir_to; file * file_from=NULL; file * file_to; //попробую перекинуть указатели просто(лол просто)
C++ Стоит ли отвыкать от std в коде подскажите как лучше писать using namespace std; using std::vector; using std::list; using std::string; все писать с std:: в коде если сейчас привыкнуть работать с включенным http://www.cyberforum.ru/cpp-beginners/thread619862.html
Программа для операций над битами C++
Здравствуйте, товарищи программисты! Прошу вас помочь мне с одним делом. В книге есть описание работы с битами. там есть умножение, сложение и т.д. Так вот, я не знаю как написать программу, чтобы проверить работу над битами в числе.Я пытался написать строку из книги, но это сулдя по всему не вся прога. Вот строка: int a, b=3, c=4, a= b & c;
C++ Факторизация методом NFS
у кого есть какие нибудь исходники для факторизации методом решета числового поля? самому что то пока даже доступный алгоритм не найти...
C++ Все нечётные числа заменить нулями http://www.cyberforum.ru/cpp-beginners/thread619838.html
Задан одномерный массив размером в 15 элементов, все нечётные числа заменить нулями
C++ Не могу разобраться в задаче В командных олимпиадах по программированию для решения предлагается не больше 11 задач. Команда может решать предложенные задачи в любом порядке. Подготовленные решения команда посылает в единую проверяющую систему соревнований. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет статистически обрабатывать пришедшие запросы, чтобы определить... подробнее

Показать сообщение отдельно
Rashmash
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 75

string, getline() чтение строк - C++

06.07.2012, 02:42. Просмотров 1911. Ответов 1
Метки (Все метки)

Здравствуйте, помогите пожалуйста написать часть кода. Задача состоит в том, чтобы прочитать данные из строк, отдельные поля дат отделяются ';'. Вот что надо прочитать:
Vasya; Komsomola 12 123435211
Kostya; Lenina 45; 666222111
Masha; Goglya 28; 999333111
Borya; I.P.Vinogradova; 123444777
В случае если строка задана неправильно(как в 1 случае отсутсвует ';' между Komsomola 12 и 123435211), то её надо просто пропустить и начать читать новую строку. Первые данные надо сохранить в поле name, вторые в address, 3 в number. Вот что я написал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    string line; // целая одна строка
    string name, address, number; //соотвественно
    
    int x; // считает кол-во проходов while();
    size_t found1, found2, found3; //позиция ';' в string line
    size_t pos=0;
 
    while(getline(cin, line)){
    x +=1;
    found1=line.find(';', pos);// найдет первую ';' и вернет позицию.
    if (int(found1)==-1){ //если не нашел ';' то надо перейти на след строку.
        // ВОТ ЗДЕСЬ не знаю как сделать чтобы он сразу переходил на следующую строку.
    } else
    name=line.substr(pos, found1); // вот здесь просто вырежет из line от первой позиции, 
                                                      //до первого появления ';'.
    
    found2=line.find(';',found1+1);
    address=line.substr(found1+1, found2-found1-1);
    
    found3=line.size();
    number=line.substr(found2+1,found3-found2-1);
    
    }
Скажите пожалуйста как сделать так, если в случае ошибки он сразу переходил на новую строку, есть ли какая нибудь функция? Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru