c++ - 将用户输入传递给带有 char* 参数的函数

标签 c++ pointers parameters arguments function-pointers

我是新手,所以我知道这可能很简单。

我有这样的功能

void GroceryList::addRecord(char* itemName, char* itemType, char rating){
//do some code;
}

我的问题是我在创建传递给函数的正确参数时遇到了问题。

I've tried something like
void main() {
    string itemName;
    cin >> itemName;
    string itemType;
    cin >> itemType;
    string rating;
    cin >> rating;

gradeBook.addRecord(itemName, itemType, rating);
}

我没想到它会像函数期望的那样工作 char* 但我终究无法弄清楚如何让用户输入到我可以传递给函数的变量中。我已经搜索了 13 个小时,尝试我能找到的东西,但到目前为止没有运气。

最佳答案

好吧,不要使用 char*

void GroceryList::addRecord(const std::string& itemName, const std::string& itemType, const std::string& rating) { /* ... */ }

您可以使用 c_str() 成员函数从 string 获取 const char*(不是 char*) ,例如itemName.c_str(),但除非您正在与 C 库进行互操作,否则您不需要它。

关于c++ - 将用户输入传递给带有 char* 参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6925092/

相关文章:

c++ - curl 慢速多线程 dns

c++ - 当源 obj 被销毁时,使用 move cstor 是否会丢失内存?

c - 试图理解 Knuth 的排列算法

javascript - 与 onblur 一起使用的动态创建的元素和函数无法正常运行

asp.net - 在表格中插入电话号码

c++ - 指针作为模板参数?

c++ - 处理 WinAPI CreateFile 中的泄漏?

c - 为什么这个指针操作不起作用?

c - 在嵌入式平台上由 C 中的整数构成的指针

c# - 使用无名参数执行存储过程