【发布时间】:2013-10-20 16:53:54
【问题描述】:
我正在尝试在二维数组中搜索字符串。
二维数组包含姓名和生日。
我想搜索一个名字并显示他们的生日。
当我尝试使用 strcmp 查看输入的名称是否与数组中的任何名称进行比较时,我收到此错误:
IntelliSense: no suitable conversion function from "std::string" to "const char *" exists
这是我的代码:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
char name[100];
string firstnames[2][4]= { {"John", "Emily", "Juan", "Sally"},
{"Nov 6", "Jan 13", "Oct 10", "Mar 29"} };
cout << "Enter a name: \n";
cin >> name;
if (strcmp(name, firstnames[0][0]) == 0)
{
}
}
我不明白如何解决这个错误?我遇到了另一个类似的错误,但是当我将名称更改为 char 数组而不是字符串时,它就消失了。所以,我认为这与此有关,但我不知道如何将输入的名称与数组进行比较以找到匹配项。
【问题讨论】:
-
我知道那里有问题,但我不知道如何使这两个工作?我认为名称数组需要是字符串,并且我在多个站点上看到它需要比较它需要是字符数组......显然,我错过了一些东西并且没有接受它。跨度>
-
我没怎么用过 std:: 东西,我在哪里包括?
标签: c++ arrays multidimensional-array intellisense strcmp