提取字符串中一个或多个空格隔开的字符串
生活随笔
收集整理的這篇文章主要介紹了
提取字符串中一个或多个空格隔开的字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
舉例:?str = "? ? abc? 123333 qqw 12 1 3? ? ? ? sadfd? ? ?dfasfdsf? ?"這樣的字符串提取出指定的第幾n的字符串內容。
比如針對上面的字符串,想提取出第3個字符串,即"qqw",
那就寫為
unsigned?char*?res[10];
getParaFromStrInstruction(str,3,res);
printf(res); //?即可得到res內容 = "qqw"
// index:表示獲取第幾個數據塊。數據塊之間可以是一個或者多個空格隔開的。 // str表示輸入的字符串,res表示提取出的字符串存放的位置。 bool getParaFromStrInstruction(unsigned char* str,unsigned char index,unsigned char* res) {unsigned char* tmp1,*tmp2;unsigned char a=0;if(*str == '\0') //這個字符串是空的,就獲取失敗return false;while(1)//去掉字符串開頭的空格,如果開頭有空格,就去掉,沒有就不動它{if((*str) == ' '){str++;}elsebreak;}//現在這個字符串一開始就是字符了,不是空格開始while(1){if(a==index){ tmp1=str;while(1){str++;if(((*str) == ' ') || ((*str) == '\0')){tmp2=str-1;break;} } for(;tmp1<=tmp2;tmp1++){*(res) = *tmp1;res++;}return true; }else{str++; if(((*(str-1)) == ' ') && (*(str) != ' ')){a++;}} } }?
總結
以上是生活随笔為你收集整理的提取字符串中一个或多个空格隔开的字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机房集中监控系统
- 下一篇: 协议(五)-从电报机到智能手机