提问人:Dame 提问时间:11/20/2019 更新时间:11/20/2019 访问量:39
尝试将用户输入传递到字符串中 (C++)
Trying to pass user input into string (C++)
问:
我目前正在研究字符串并处理这个简单的示例。我正在尝试将“birthdate”用户输入传递到我的 logSuccess 字符串中。做了很多谷歌搜索,但还没有找到解决方案。有什么提示吗?
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
std::string birthdate;
void printString(const std::string& string)
{
std::cout << string << std::endl;
}
void getBirthdate()
{
std::cout<<"When is your birthday? "<<std::endl;
cin>>birthdate;
}
int main()
{
std::string name = std::string("Dame") + " hello!";
std::string logSuccess = std::string("Thank you! We will send you a postcard on ") + birthdate;
printString(name);
getBirthdate();
printString(logSuccess);
std::cin.get();
}
答:
3赞
Glamdring
11/20/2019
#1
在创建消息并将其分配给 logSuccess 变量时,birthdate 变量为空。您希望在从用户获取输入后使用数据填充 logSuccess。
评论
0赞
Dame
11/20/2019
哦,好的,所以我只需要在声明我的 getBirtdate 函数后放置 logSuccess 变量/消息,然后打印字符串
0赞
Glamdring
11/20/2019
完全。您仍应在函数的开头声明变量,因为这是一种很好的编程实践,但在获取输入后将出生日期附加到 logSuccess。
0赞
Bill Chen
11/20/2019
#2
您的错误如下:
std::string logSuccess = std::string("Thank you! We will send you a postcard on ") + birthdate;
printString(name);
getBirthdate();
printString(logSuccess);
它应该是:
string name = string("Dame") + " hello!";
string logSuccess = "Thank you! We will send you a postcard on " ;
printString(name);
getBirthdate();
logSuccess += birthdate;
printString(logSuccess);
评论
0赞
Dame
11/20/2019
明白了。进行了调整,它就像一个魅力
评论
main