Получение строкового ввода со значением по умолчанию, предоставленным в C ++ - PullRequest
1 голос
/ 16 марта 2011

Я хочу получить строку ввода от пользователя.В то же время я хочу указать строку по умолчанию, чтобы, если пользователь не хочет ее менять, он мог просто нажать клавишу ввода.Как это можно сделать в C ++?

Ответы [ 3 ]

4 голосов
/ 16 марта 2011
#include <iostream>
#include <string>
using namespace std;

int main(int argc, char* args[])
{
    const string defaultText = "Default string";
    string str;
    string tmp;
    getline(cin, tmp);
    if (!tmp.empty()) //user typed something different than Enter
        str = tmp;
    else //otherwise use default value
        str = defaultText;
    cout << str << endl;
}
1 голос
/ 16 марта 2011

Просто используйте две строки: строка по умолчанию и строка User_supplied.Получите ввод от пользователя (для строки user_supplied) и выполните strlen для этой строки, чтобы проверить, имеет ли она длину больше нуля.Если это так, используйте строку User_supplied, иначе используйте строку по умолчанию

1 голос
/ 16 марта 2011

Вы должны быть в состоянии сделать это с версией getline (), определенной в.Вы можете использовать это так:

#include <iostream>
#include <string>
using namespace std;

int main()
{
  string str;
  getline(cin,str);
  // Use str
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...