首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较char[]和char*

比较char[]和char*
EN

Stack Overflow用户
提问于 2015-04-14 00:53:52
回答 3查看 4.7K关注 0票数 2

我有一个返回char* (一个名称)的函数。我需要检查该名称是否与我在运行程序时键入的名称相同。那么如何比较char指针和char数组呢?(这是学校作业的一部分)

EN

回答 3

Stack Overflow用户

发布于 2015-04-14 00:57:56

在C++中,您应该返回std::string而不是char*,并与

代码语言:javascript
复制
if (returned == expected)

如果你正在尝试写一个可怕的C和C++的混合,那么你可以做一个字符串来比较:

代码语言:javascript
复制
if (std::string(pointer) == expected)

或者使用C库

代码语言:javascript
复制
if (std::strcmp(pointer, expected) == 0)
票数 8
EN

Stack Overflow用户

发布于 2015-04-14 00:57:33

像这样使用strcmp

代码语言:javascript
复制
char a[] = "someName";
char* b = GetSomeOtherName();
if (strcmp(a, b) == 0)
{
    // equal
}
票数 5
EN

Stack Overflow用户

发布于 2015-04-14 00:59:31

您可以使用<cstring>头中的strcmp(),如下所示

代码语言:javascript
复制
if ( strcmp ( func() , a ) == 0 )
{
   // they are equal
}

其中func()返回指针,a是字符数组。

但是,当你在C++上时,你应该使用std::string。它比字符数组要好得多。

检查字符串是否相等真的很容易。你可以这样做

代码语言:javascript
复制
std::string string1;
std::string string2;

//  assign them some values

if ( string1 == string2 )
{
   // they are equal
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29610822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档