Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用strtok()进行错误的字符串比较 #包括 #包括 #包括 #包括 使用名称空间std; int main() { char stringbuf[256]=“添加joe smith 120120”; char*cmd=strtok(stringbuf,“”); 如果(cmd==“添加”) printf(“已识别添加命令!\n”); 其他的 printf(“无法识别的命令!\n”); 系统(“暂停”); }_C++ - Fatal编程技术网

C++ 使用strtok()进行错误的字符串比较 #包括 #包括 #包括 #包括 使用名称空间std; int main() { char stringbuf[256]=“添加joe smith 120120”; char*cmd=strtok(stringbuf,“”); 如果(cmd==“添加”) printf(“已识别添加命令!\n”); 其他的 printf(“无法识别的命令!\n”); 系统(“暂停”); }

C++ 使用strtok()进行错误的字符串比较 #包括 #包括 #包括 #包括 使用名称空间std; int main() { char stringbuf[256]=“添加joe smith 120120”; char*cmd=strtok(stringbuf,“”); 如果(cmd==“添加”) printf(“已识别添加命令!\n”); 其他的 printf(“无法识别的命令!\n”); 系统(“暂停”); },c++,C++,我已经使用断点检查了每个变量所包含的内容。 cmd还有“add”,它正在打印“unrecognable COMMAND!” 怎么了?在(cmd==“add”)中,您正在比较两个指向字符的指针,而不是比较字符串 如果您想比较C++代码中的字符串,请使用 STD::String < /代码>。如果您想编写C风格的代码,请使用strcmp您无法比较这样的字符串。查看strcmp()。 #include <iostream> #include <string> #include

我已经使用断点检查了每个变量所包含的内容。 cmd还有“add”,它正在打印“unrecognable COMMAND!”

怎么了?

(cmd==“add”)
中,您正在比较两个指向字符的指针,而不是比较字符串


如果您想比较C++代码中的字符串,请使用<代码> STD::String < /代码>。如果您想编写C风格的代码,请使用strcmp

您无法比较这样的字符串。查看strcmp()。
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int main()
{
   char stringbuf[256] = "add joe smith 120120120";
   char* cmd = strtok(stringbuf, " ");

   if (cmd == "add")
    printf("ADD command recognized!\n");
   else
    printf("UNRECOGNIZABLE COMMAND!\n");

   system("PAUSE");
}