这是我的字符串" 这只是一个文字。数据:无效。宁静的信息。实际位置:1234系统要求"。
我的搜索字符串是" 实际位置:"而且我感兴趣的是前面的数字会随着电机的移动而变化。谢谢你的帮助。
答案 0 :(得分:0)
您必须使用strstr
进行搜索,然后使用长度为"Actual Position:"
的位置指针,最后使用sscanf
来读取值:
#include <stdio.h>
#include <string.h>
int main()
{
char data[] = "This is just a text. Data: Is invalid. Restful information. Actual Position:1234 System requirements";
char srcData[] = "Actual Position:";
char *pos = strstr(data, srcData) + strlen(srcData);
int value = 0;
sscanf(pos, "%d",&value);
printf("%d",value);
return 0;
}
答案 1 :(得分:0)
您应该可以使用sscanf(请参阅scanf格式)。你可以做一些事情。
#include <stdio.h>
#include <string.h>
int main ()
{
int i=-1;
char sentence[]="This is just a text. Data: Is invalid. Restful information. Actual Position:1234 System requirements";
char key[]="Actual Position:";
char* subst= strstr(sentence, key);
if(subst != 0){
int n = sscanf (subst,"Actual Position:%i",&i);
if (n > 0){
printf ("Found Actual Position => %d\n",i);
}
}
return 0;
}