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

Вопрос про cin.getline() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разделить массив Char на слова http://www.cyberforum.ru/cpp-beginners/thread340984.html
Привет.. Вот есть массив символов: char buf; Немного далее в коде он печатается: printf(buf); Получается в таком виде: word1 word2 word3
C++ функция вывода Всем привет! Есть код (правда я еще работаю над ним) #include<iostream.h> #include<conio.h> #include<string.h> class Team { private: char *Surname; http://www.cyberforum.ru/cpp-beginners/thread340970.html
Проблема с компиляцией C++
Сегодня начал изучать C++ Скачал инсталлятор MinGW отсюда: http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/ установил D:\p1.cpp...
считывание данных из файла excel C++
Нужна помощь...В общем расклад такой....есть файл MS Excel надо считать данные из ячеек этого документа...Очень нужна помощь
C++ динамический массив http://www.cyberforum.ru/cpp-beginners/thread340920.html
int *f = new int(); ... delete f;//вот здесь прерывается Почему прерывается ?
C++ Ввод строки У меня возникла такая проблема: как ввести строку из консоли. Написал вот что: cout<<"Input time \"hour:minute:second\"\n"; char *timeStr; cin>>timeStr; , но возникает ошибка. Это понятно,... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
11.08.2011, 00:34
Цитата Сообщение от silentnuke Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        int Age;
    char mas[20];
    cout<<"Add Age  ";
    cin>>Age;
    cin.ignore();//должно помочь
    
        cout<<"Add Name  ";
    cin.getline(mas,20);
    char* Name = new char[strlen(mas)+1];
    strcpy(Name, mas);
    
    cout<<"Add University  ";
    cin.getline(mas,20);
    char *University = new char[strlen(mas)+1];
    strcpy(University, mas2);
C++
1
strcpy(University, mas2);
кстати почему здесь mas2? по идеи должно быть просто mas.
Как уже здесь было отмечено, проблема в том, что после воода возраста, то есть переменной Age в буфере сохранился символ конца строки. Когда вы вызываете функцию getline она считывает этот символ конца строки.

Вам лучше чем-то одним пользоваться: либо вводить все через getline, либо напрямую с помощью оператора >>.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru