求助c++ stricmp()的报错问题

回复帖子

@夕见 2016-10-09 10:20 回复

使用strcmp发现报错:

cannot convert std::string' toconst char*' for

argument 1' toint stricmp(const char*, const char*)'

我是这样使用的:stricmp(c,n[j])

(string c,string n[100])

请问这样使用有什么问题?各种搜索后没能找到答案…

感谢!

@__stdcall  2016-10-09 11:56 回复 举报

strcmp只对内建的char*类型有用啊,你用string类就不用strcmp啊,直接比较就行了

@夕见 2016-10-09 19:22 回复 举报

使用stricmp(c.c_str(),n[j].c_str())的话,Debug显示

Program has received a signal-name="SIGSEGV",signal-meaning="Segmentation fault" at std::string::c_str() const(), file C:\MinGWStudio\MinGW\include\c++\3.3.1\bits\basic_string.h:217

不明所以……?

@ghj1222  2016-10-09 23:01 回复 举报

@夕见 不好意思晚了点,不太明白是怎么回事儿 我只知道string类使用char*的话要用c_str() 这个段错误是怎么回事儿呢

@夕见 2016-10-10 08:45 回复 举报

@ghj1222 谢谢,那我研究一下吧!好像我的代码怎么写都会出现那神奇的一段bug

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。