开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
问题(Question):
我有一个B字串跟一个A字串
那我想知道,B字串在A字串中的位置(不管B有没有出现在A)
所以我使用strstr来处理
int location;
char str_A[20]="Hello world.",str_B[6]="Error";
location=(int)(strstr(str_A,str_B)-str_A);
if(location<0)
return -1;
else
return location;
如果找不到,应该相减后会为负数
但是在Linux下偶尔相减后却是一个非常大的正数
导致程式判断就错误了,但是Windows却不会
我是哪边写错或是哪边需要修改,才能符合我所预期的功能呢?
再麻烦高手帮忙一下,感谢