日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

c语言中字符串 x,使用c语言解析字符串176x144中的数字

發(fā)布時(shí)間:2025/3/11 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言中字符串 x,使用c语言解析字符串176x144中的数字 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在做jpeg codec的時(shí)候,經(jīng)常需要輸入圖片的大小,即長(zhǎng)和寬。對(duì)于一個(gè)jpeg圖片,它的大小幾乎是任意的,所以只能用數(shù)字來(lái)表示,而不能選擇cif,qcif等這類固定的圖片格式。在用數(shù)字表示圖片大小時(shí),大家都習(xí)慣使用象176x144這樣格式。為了獲取長(zhǎng)和寬,需要解析這個(gè)字符串。

下面,簡(jiǎn)單介紹一下在c語(yǔ)言中如何對(duì)176x144的解析。

#include

int main()

{

char *str = "176x144";

char *pDest;

char strTmp[100];

int g_pic_wid,g_pic_hei;

//將str所指字符串拷貝一份,存儲(chǔ)在strTmp中,以供解析width

strcyp(strTmp,str);

//在strTmp中找到最后一個(gè),即第一個(gè)出現(xiàn)的'x'的位置

pDest = strrchr((const char*)strTmp,(int)'x');

if(pDest)//如過(guò)找到了'x'

{

*pDest = '/0';//strTmp中的數(shù)據(jù)為“176/0144”,即截?cái)嗔撕竺娴臄?shù)據(jù)

//將“176”轉(zhuǎn)化為int類型

g_pic_wid = atoi(strTmp);

//在str中找到最后一個(gè),即第一個(gè)出現(xiàn)的'x'的位置

pDest = strrchr((const char *)str, (int)'x');

if(!pDest)

pDest = str;

else

pDest++;//如果找到了,指向'x'的下一個(gè)位置

//將從pDest所指的位置往后的數(shù)據(jù)(即“144/0”)拷貝到strTmp中

strcyp(strTmp, pDest);

//將“144”轉(zhuǎn)化為int類型

g_pic_hei = atoi(strTmp);

}

printf("pictrue width:%d, height:%d !/n",g_pic_wid, g_pic_hei);

pDest = NULL;

return 0;

}

這段函數(shù)中,大家可能對(duì)strrchr函數(shù)不大熟悉,下面將會(huì)對(duì)其做一個(gè)詳細(xì)的介紹。

/*

Finds the last occurrence of ch in string.? The terminating null character is used as

part of the search.

查找在字符串中最后一次出現(xiàn)字符’ch’的位置。如果str中存在字符ch,返回出現(xiàn)ch的位置的指針;

否則返回NULL。

*/

#include

char * my_strrchr(const char * str,int ch)

{

char *p = (char *)str;

while (*str) str++;

while (str-- != p && *str != (char)ch);

if (*str == (char)ch)

return( (char *)str );

return(NULL);

}

int main()

{

char *str = "ammana_babi";

char * p;

char ch;

ch = '9';

p = (char *)my_strrchr(str,ch);

if(p == NULL)

printf("Can't find the character %c !/n",ch);

else

printf("Find the character %c !/n",*p);

ch = 'b';

p = (char *)my_strrchr(str,ch);

if(p == NULL)

printf("Can't find the character %c !/n",ch);

else

printf("Find the character %c !/n",*p);

system("pause");

return 0;

}

更多請(qǐng)看:http://www.chituwang.com/Article/IT/detail.aspx?articleid=18092

總結(jié)

以上是生活随笔為你收集整理的c语言中字符串 x,使用c语言解析字符串176x144中的数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。