我們已經(jīng)知道,用strlen ()函數(shù)可以得到字符串的長度。下面用到了strlen ()函數(shù),這是
一個可以縮短字符串長度的程序:
#include#includevoid fit (char *,unsigned int);
int main(void )
{
char mesg[] = "Hold on to your hats,hackers.";
puts(mesg);
fit(mesg,7);
puts(mesg);
puts("Let's look at some more of the string.");
puts(mesg + 8);
return 0;
}
void fit (char *string,unsigned int size)
{
if(strlen(string) >size)
*(string+size) = '\0';
}
輸出結果如下:
Hold on to your hats,hackers.
Hold on
Let's look at some more of the string.
to your hats,hackers.
fit函數(shù)是在指定位置放下一個空字符,使得puts()顯示時遇到那個空字符就停止了。
2.strcat()strcat(代表string concatenation)函數(shù)接受兩個字符串參數(shù)。它將第二個字符串的拷貝添加到第一個字符串的末尾,從而使得第一個字符串組合形成一個新的字符串,但是第二個字符串并沒有被改變。
下面程序展示了該函數(shù)的功能
#include#include#define SIZE 80
int main(void )
{
char flower[SIZE];
char addon[] = "s smell like good.";
puts("what is your favorite flower?");
gets(flower);
strcat(flower,addon);
puts(flower);
puts(addon);
return 0;
}
結果如下:
what is your favorite flower?
Rose
Roses smell like good.
s smell like good.
strcat函數(shù)并沒有考慮第一個字符串所在數(shù)組是否能容納下第二個字符串,容易使得多出來的字符串溢出到其它內存空間,這時候要么做個長度檢查工作,要么可以使用strncat函數(shù),設置第三個參數(shù),指明最多能添加的字符數(shù),如strncat(flowers,addon,13);那么就會加到addon第十三個字符或遇到空字符為止。
3.strcmp()
strcamp(代表string comparison)是對字符串內容進行比較的函數(shù)。
#include#include#define ANSWER "keep"
#define MAX 40
int main(void )
{
char t[MAX];
puts("What is your need?");
gets(t);
while(strcmp(t,ANSWER))
{
puts("No,that's wrong, Try again.");
gets(t);
}
puts("That's right!");
return 0;
}
結果如下
What is your need?
money
No,that's wrong, Try again.
courage
No,that's wrong, Try again.
keep
That's right!
strncmp是其變種函數(shù),多了第三個參數(shù)指定比較到第幾位字符數(shù),可以用來比較前面部分相同的字符串。
4.strcpy()
一般直接給指向字符串的指針賦值,都是復制字符串的地址,而不是本身。這時候就可以用strcpy
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享題目:C語言學習筆記(7)——字符串函數(shù)-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://muchs.cn/article12/deipgc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內鏈、微信公眾號、網(wǎng)站制作、網(wǎng)頁設計公司、服務器托管、微信小程序
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)