【发布时间】:2020-06-12 01:25:49
【问题描述】:
所以,我正在尝试在 C++ 中学习 map。我将类型为std:: map <const char *, int> 放入变量month。
说,数据是month["Jul"] = 7;
当我尝试直接检索值时
printf("%d", month["Jul"]);
成功并输出值。
7
尝试使用另一个变量也成功。
const char *p = "Jul";
printf("%d", month[p]); // 7
但是当我尝试用给定的输入分配它时会发生奇怪的行为。
const char in_month[3];
scanf("%s", in_month);
print("%d". month[in_month]);
它检索(null)
0
我做了这里禁止的事情还是我错过了一个步骤?
【问题讨论】:
-
您是否尝试过使用 C++ 成语代替 C 成语?
-
@Eljay 如果你指的是
std:: cin或std:: cout,我已经完成了,结果是一样的。 -
std::string,std::cin,std::cout,不使用printf,不使用const char*,不使用scanf。 minimal reproducible example 也很有用。
标签: c++ dictionary