gpt4 book ai didi

c++ - 使用 strtok() 进行错误的字符串比较

转载 作者:行者123 更新时间:2023-11-28 03:07:55 25 4
gpt4 key购买 nike

#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");
}

我已经使用断点来检查每个变量的内容。cmd 有“add”,它正在打印“UNRECOGNIZABLE COMMAND!”。

怎么了?

最佳答案

(cmd == "add") 中,您比较的是两个指向字符的指针,您不是比较字符串。

如果您想在 C++ 代码中比较字符串,请使用 std::string。如果您想编写 C 风格的代码,请使用 strcmp

关于c++ - 使用 strtok() 进行错误的字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19237983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com