关于字符串分离数据的问题
各位好!
我用VC程序接收数据,接收到的数据格式为:68 1H 2B 81H 42 37 19 88 36 29 34 15 1H 1A 3C (中间是空格隔开的),请问我用什么方法可以将上面的数据分离开来,比如分别得到上面的数据42,37,19,88,36,29,34,15?另外,假如说我需要得到的数据是4237,1988,3629,3415(即同一数据的低位高位合并)的话,又该如何操作?请知道的朋友指点一下,谢谢。
[解决办法]
strtok函数能解决你的问题.
至于有两个连起的3629,如果需要分开的话, 可以在strtok后判断是否是两个,多于两个就分开.
[解决办法]
字符串函数都可以满足你的要求
[解决办法]
//================================================================= #include <stdio.h> #include <iostream.h> #include <string.h>char string[] = "68 1H 2B 81H 42 37 19 88 36 29 34 15 1H 1A 3C ";char seps[] = " ";char *token;void main( void ){ printf( "%s\n\nTokens:\n", string ); int index =0; token = strtok( string, seps ); while( token != NULL ) { if (index>=4 &&index<=10) { printf( "%s,", token ); } else if(index==11) { printf( "%s\n", token ); } index++; token = strtok( NULL, seps ); }}
[解决办法]
STL的
Find和SubStr就可以