久久久久久久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否則會出錯

關閉窗口

相關文章

主站蜘蛛池模板: 国产久 | 国产成人网| 91久久久久久久久久久 | 免费成人在线网站 | 国产乱精品一区二区三区 | 亚洲毛片在线 | 99国内精品久久久久久久 | 三区在线| 国产欧美日韩精品一区 | 99爱免费 | 精品真实国产乱文在线 | a级黄色片视频 | 成人福利在线观看 | 亚洲精品一区国产精品 | 中文字幕一二三 | 91精品一区| 欧美一区视频在线 | 欧美福利| 欧美精品一区免费 | 久久久91精品国产一区二区三区 | 国产精品成人国产乱 | 欧美一区二区 | 毛片入口 | 精品国产乱码久久久久久果冻传媒 | 精品久久久久久久 | 日韩在线精品视频 | 久久久久久久久久久蜜桃 | 免费在线观看一区二区三区 | 亚洲精品久久久久国产 | 国产一区二区三区精品久久久 | 黄色大片在线免费观看 | 国产在线精品一区 | 成人国产精品视频 | 国外成人在线视频网站 | 国产成人亚洲精品 | 一区二区三区在线播放 | 亚洲视频一区 | 国产精品久久久久久久粉嫩 | 日韩视频三区 | 午夜精品久久久久久久久久久久久 | 一区二区在线免费观看 |