S
Schummi
Использую VS6.0 SP6.
Есть проблем с getline():
код C++
пример работы проги, ([Enter] - имеется в виду нажатие клавиши enter):
Input 1 string:abcdef[Enter] - тут ввод s1 должен завершитсья(getline c двумя аргументами)
123456[Enter] - однако ввод продолжается - и это явно ошибка компилятора
Output 1 string:abcdef -вывели s1 и пока все верно
Input 2 string:ABCDEF[Enter] -тут ввод s2 завершился, но примерно понятно почему - из-за второго [enter] при первом вводе
Output 2 string:123456 -выводим s2, но это не ABCDEF как должно было быть, а "остатки" потока после ввода s1
Press any key to continue
лазил по сайту искал подобную тему, но ненашел...
если кто знает дайте ссылки - проблема и так ясна, ну или пример кода как этого избежать
в другом но менее мощном и удобном компиляторе все робит номально...[/size]
Есть проблем с getline():
код C++
Код:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1,s2;
cout<<"Input 1 string:";
getline(cin,s1);
cout<<"Output 1 string:"<<s1<<endl;
cout<<"Input 2 string:";
getline(cin,s2);
cout<<"Outpit 2 string:"<<s2<<endl;
return 0;
}
Input 1 string:abcdef[Enter] - тут ввод s1 должен завершитсья(getline c двумя аргументами)
123456[Enter] - однако ввод продолжается - и это явно ошибка компилятора
Output 1 string:abcdef -вывели s1 и пока все верно
Input 2 string:ABCDEF[Enter] -тут ввод s2 завершился, но примерно понятно почему - из-за второго [enter] при первом вводе
Output 2 string:123456 -выводим s2, но это не ABCDEF как должно было быть, а "остатки" потока после ввода s1
Press any key to continue
лазил по сайту искал подобную тему, но ненашел...
если кто знает дайте ссылки - проблема и так ясна, ну или пример кода как этого избежать
в другом но менее мощном и удобном компиляторе все робит номально...[/size]