久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機c語言字符串操作

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年04月25日   【字體:

 字符串轉int atoi

函數原型int atoi(const char *nptr);
int val = atoi("12");
這樣va就l等于12

int轉字符串 itoa
函數原型:char*itoa(intvalue,char*string,intradix);
int number=123456;
char string[25];
itoa(number,string,10);
string就是123456 后面的10是說轉化成10進制 16就是轉化成16進制 8就是轉化成8進制 ,也可以轉化成2進制

字符串截取 strncpy
原型:char*strncpy(char*dest,char*src,size_tnum);
大家知道strcpy 是子環節復制字符串,可能不知道還有個strncpy,這是復制指定長度的字符串
chardes[]="Hello,iam!";
charsource[]="abcdefg";
strncpy(chardes,charsource,3);
這時chardes的值是abc 注意這里可不是把abc添加在!后面的,是從chardes這個數組的首地址開始賦值的,最后會加上'\0'做結束符。
改變一下用法
strncpy(chardes+1,charsource+2,3);
這時候chardes的值是Hcde 為什么是這個值,能看懂不?自己思考一下。偏移哈。

字符串構造 sprintf
原型 int sprintf( char *buffer, const char *format, [ argument] … );
這個應該很多人都知道。
char dest[20];
int val=12;
sprintf(dest,"val=%d",val);

dest的值就是"val=12" 那個12也是字符串了哈注意下。
這個函數也可以整形、浮點型轉字符串
sprintf(dest,"%f",3.1415926f);
dest 就是“3.1415926”

sprintf(dest,"現在的時間是%s,請注意","2014-04-09 11:27:21"); 后面這個字符串也可以換成變量
dest的值是 "現在的時間是2014-04-09 11:27:21,請注意"

直接對內存操作memset
原型 void *memset(void *s, int ch, size_t n);
char buffer[20];
strcpy(buffer,"1234567890");
memset(buffer,0,sizeof(char)*20);
這時buffer中的數據全都是0了

strcpy(buffer,"1234567890");
memset(buffer+2,6,sizeof(char)*2);
這時buffer值是1266567890
這個函數可以對任何數據類型的內存進行修改。所以有些從串口接收進來的數據需要做一下簡單的修改再轉發出去的話就可以用這個函數做修改。

先介紹這些吧,再想起來別的再補充
【2014-04-11 補】

memcpy函數使用起來也不錯的,直接把字節數組復制到指定位置了,這個就不說了。

字符串分割strtok
原型 char *strtok(char s[], const char *delim);
分解字符串為一組字符串。s為要分解的字符串,delim為分隔符字符串。
ARDUINO 代碼

 
輸出:
abc
d

記住了,只要第一次分割的時候需要指定字符串,之后再分割就用NULL就行了,當p==NULL的時候說明分割完了。這里使用到了指針,此處指針不需要釋放。


查找字符串 strstr
原型 char *strstr(const char *str1, const char *str2);
strstr() 函數搜索一個字符串在另一個字符串中的第一次出現。
str1: 被查找目標 
str2: 要查找對象 

char str[]="1234 xyz";
char* str1=strstr(str,"34");
printf("%s",str1);
顯示: 34 xyz

字符串比較 strcmp
原型:extern int strcmp(const char *s1,const char * s2);
比較s1和s2 兩個相等就返回0 不想等就返回非0值。

字符串連接strcat
原型 extern char *strcat(char *dest,char *src);
把src 連接到dest值的后面,注意dest要有足夠的空間去接收src否則會出錯

關閉窗口

相關文章

主站蜘蛛池模板: av大全在线 | 国产综合久久久久久鬼色 | av毛片免费| 亚洲va欧美va天堂v国产综合 | 精品视频在线观看 | 成av在线 | 国产精品www | 99久久日韩精品免费热麻豆美女 | 久久免费观看一级毛片 | 欧美一区二 | 日屁网站 | 不卡在线一区 | 国产欧美精品在线观看 | 国产高潮好爽受不了了夜夜做 | 国产精品69毛片高清亚洲 | 九九热精品视频在线观看 | 九色av| 国产乡下妇女做爰 | 视频1区 | 在线第一页 | 国产精品夜间视频香蕉 | 国产免费色| 日韩av大片免费看 | 福利视频二区 | 国产精品视频一区二区三区 | 久久久久久国产 | 欧美一级片在线观看 | 国产一区二区三区视频在线观看 | 免费在线成人网 | 久久成人高清视频 | 国产精品久久久久久久久久软件 | 亚洲视频在线观看 | xx性欧美肥妇精品久久久久久 | 久久久久久国产精品免费免费狐狸 | 国产精品成人一区二区三区 | a级片在线观看 | 91色啪| 成人国产精品久久 | 日本国产高清 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产成人精品久久 |