char *p;
ptr = ans;
其中ans为下面直
+CMGS: 151OK?+CMTI: "SM",4?+CMGL: 4,"REC UNREAD","+8613591441979",,"04/08/13,10:26:28+00"
gggggggggggggggggggggg
现在用
while((ptr = strstr(ptr, "+CMGL:")) != NULL)
怎么有错误那,找不到"+CMGL"的位置,,应该怎么写那,,,?
内存地址是这样的
///////////////////////////////////////////////
0A 2B 43 4D 47 53 3A .+CMGS:
00E38E53 20 31 35 31 0D 0A 0D 151...
00E38E5A 0A 4F 4B 0D 8A 0D 0A .OK....
00E38E61 2B 43 4D 54 49 3A 20 +CMTI:
00E38E68 22 53 4D 22 2C 34 0D "SM",4.
00E38E6F 8A 0D 0A 2B 43 4D 47 ...+CMG
00E38E76 4C 3A 20 34 2C 22 52 L: 4,"R
00E38E7D 45 43 20 55 4E 52 45 EC UNRE
00E38E84 41 44 22 2C 22 2B 38 AD","+8
00E38E8B 36 31 33 35 39 31 34 6135914
00E38E92 34 31 39 37 39 22 2C 41979",
00E38E99 2C 22 30 34 2F 30 38 ,"04/08
00E38EA0 2F 31 33 2C 31 30 3A /13,10:
00E38EA7 32 36 3A 32 38 2B 30 26:28+0
00E38EAE 30 22 0D 0A 67 67 67 0"..ggg
00E38EB5 67 67 67 67 67 67 67 ggggggg
00E38EBC 67 67 67 67 67 67 67 ggggggg
00E38EC3 67 67 67 67 67 0D 0A ggggg..
ptr = ans;
其中ans为下面直
+CMGS: 151OK?+CMTI: "SM",4?+CMGL: 4,"REC UNREAD","+8613591441979",,"04/08/13,10:26:28+00"
gggggggggggggggggggggg
现在用
while((ptr = strstr(ptr, "+CMGL:")) != NULL)
怎么有错误那,找不到"+CMGL"的位置,,应该怎么写那,,,?
内存地址是这样的
///////////////////////////////////////////////
0A 2B 43 4D 47 53 3A .+CMGS:
00E38E53 20 31 35 31 0D 0A 0D 151...
00E38E5A 0A 4F 4B 0D 8A 0D 0A .OK....
00E38E61 2B 43 4D 54 49 3A 20 +CMTI:
00E38E68 22 53 4D 22 2C 34 0D "SM",4.
00E38E6F 8A 0D 0A 2B 43 4D 47 ...+CMG
00E38E76 4C 3A 20 34 2C 22 52 L: 4,"R
00E38E7D 45 43 20 55 4E 52 45 EC UNRE
00E38E84 41 44 22 2C 22 2B 38 AD","+8
00E38E8B 36 31 33 35 39 31 34 6135914
00E38E92 34 31 39 37 39 22 2C 41979",
00E38E99 2C 22 30 34 2F 30 38 ,"04/08
00E38EA0 2F 31 33 2C 31 30 3A /13,10:
00E38EA7 32 36 3A 32 38 2B 30 26:28+0
00E38EAE 30 22 0D 0A 67 67 67 0"..ggg
00E38EB5 67 67 67 67 67 67 67 ggggggg
00E38EBC 67 67 67 67 67 67 67 ggggggg
00E38EC3 67 67 67 67 67 0D 0A ggggg..
改成:
while((ptrCpy = strstr(ptr, "+CMGL:")) == NULL)
而且,判定条件不对,应该是
pdest = strstr( string, str );
if( pdest != NULL )
ptr = strstr(ptr, "+CMGL:")) != NULL 表示BOOL bFlag = (ptr = strstr(ptr, "+CMGL:")))?TRUE:FALSE;
bFlag != NULL好像是在判断赋值是否成功,应该判断指针是否为空