Thread overview | |||||
---|---|---|---|---|---|
|
March 17, 2003 cin with a string | ||||
---|---|---|---|---|
| ||||
This compiles but does not execute: //(code has been shortened on purpose) #include <iostream.h> #include <string> string something; int main() { cout << "Enter your name: "; cin >> something; } This compiles and executes properly: #include <iostream.h> #include <string> char something[40]; int main() { cout << "Enter your name: "; cin >> something; } Why won't a string work with cin? |
March 17, 2003 Re: cin with a string | ||||
---|---|---|---|---|
| ||||
Posted in reply to st | In article <b539un$1097$1@digitaldaemon.com>, st says... > >This compiles but does not execute: >//(code has been shortened on purpose) My guess is that you are using the older stream library since using stlport and this works as expected: #include <iostream> #include <string> int main() { std::string something; std::cin >> something; } But the real answer to your question is that it does not work because you do not have an extraction operator defined for istream and "string" in your environment. Richard |
March 17, 2003 Re: cin with a string | ||||
---|---|---|---|---|
| ||||
Posted in reply to Richard Grant | "Richard Grant" <fractal@clark.net> wrote in message news:b54gjm$1qvp$1@digitaldaemon.com... > In article <b539un$1097$1@digitaldaemon.com>, st says... > > > >This compiles but does not execute: > >//(code has been shortened on purpose) > > My guess is that you are using the older stream library since using stlport and > this works as expected: > > #include <iostream> > #include <string> > > int main() { > std::string something; > std::cin >> something; > } > > But the real answer to your question is that it does not work because you do not > have an extraction operator defined for istream and "string" in your environment. > > Richard > If you want to enter more than one name, e.g., Joe Fauntleroy Blow, try: std::getline(std::cin, something); |
Copyright © 1999-2021 by the D Language Foundation