减去两个char指针

use*_*342 1 c pointers

我有一个输入缓冲区,它将在表单中

-----------------------------41184676334

Some Content
More Content



-----------------------------41184676334

More ContenT!!
Run Code Online (Sandbox Code Playgroud)

变量,将存储边界标记----------------------------- 41184676334

我想知道两个边界标记之间的长度

这就是我做的

char *temp, *temp1;

temp = strstr(input,boundarymarker);
temp1 = strstr(temp+ strlen(boundarymarker),boundarymarker);

int length = temp1-temp; 
Run Code Online (Sandbox Code Playgroud)

length返回负值.是不是可以减去?如果不是什么是正确的解决方案?它返回的价值是多少?

Mik*_*ley 5

很可能在两个strstr调用之一中找不到边界标记.你能检查一下NULLtemp和temp1吗?