C語言筆記-字串

來源:互聯網
上載者:User

可以用scanf()接受字串,它不接收空格

 

char str[100]="Good morning";
 scanf("%s",str);

str中的內容是Good
 
 char str[100]="Good morning";
 scanf("%3s",str);

str中的內容是Goo

 char str[100]="Good morning";
 scanf("%5s",str);

str中的內容是Good.

用scanf()輸入字串時,數組名前不加&

 

 

 

 

 

 

 

 

 

 

輸入字串函數gets(),它可以接收空格,以斷行符號結束輸入

例如:char str[100]=" ";

gets(str);

puts(str);

 

輸入字元函數getchar()和getch()

getchar()輸入回顯

getch()不回顯,而且可以接收'\r',常用於輸入密碼操作,需要#include<conio.h>

 

 

可以用print'f()輸出字串,找'\0'結束,否則一直輸出。

char str[100]="ABC";

printf(“%s",str);     //輸出ABC

 

char str[100]="ABC";

str[1]='\0';

printf("%s",str);    //輸出A

 

char str[4]="ABC";

str[3]='D';

printf("%s",str);        //錯誤,沒有\0

 

 

 

其他輸出函數:

輸出字串函數puts()

例如:char str[100]="ABC";

puts(str);

 

輸出字元函數putchar();

例如:char str[100]="ABC";

putchar(str[0]);

putchar('\n');

 

 

 

 

 

記憶體賦值函數:memset()

memset用法有:

memset(szName,'\0',100);//表示把數組szName前100位的元素清0

memset(szName,'A',5);//表示把數組前5位的元素都替換成A;

memset(szName+5,'A',5);//表示從數組下標為5的元素開始往後5個元素都替換成A

 

 

 

字串拷貝stcpy()

格式為strcpy(字元數組1,字元數組2);

strcpy(字元數組名,字元常量);

例如:char str[]="1234";

char szName[100]="";

strcpy(szName,str);

strcpy(szName,"1234");

 

 

char szName[100]="";

strcpy(szName,"12345");

strcpy(szName,"Li");

puts(szName);//結果是Li, \0也拷貝過去。

 

strncpy()

strncpy有如下用法:

//表示把數組下標為x的元素開始往後按順序替換成A,B,C

strncpy(szTemp+x,"ABC");

//只複製“1235”的前兩個字元給str字串

strncpy(str,"12345",2);

//把strB的下表為y之後的z個字元,複製給strA以下表為x的字元後面去,(包括xy的元素)

strncpy(strA+x,strB+y,z);

注意:strcpy不檢查目標字串的大小,當目標字串記憶體不足,會導致崩潰。

 

 

 

字串比較strcmp

格式:strcmp(字串1,字串2);

比較相同位置上的ASCII碼值的大小(常用於比較字串是否相等)

兩個字串相等返回0,字串1大於字串2返回正數,否則返回負數。

可以有如下使用方法:

strcmp(s1,s2);

strcmp(s,"123");

strcmp("123",s);

 

字串拼接strcat

格式:strcat(字元數組1,字元數組2);

功能:吧字元數組2中的字串串連到字元數組1中字串的後面,並刪去字串1後的串標誌"\0"   本函數傳回值是字元數組1的首地址。

 

 

字串轉換函式:

atof,,atoi ,atol

 

字串測試函數:

isalum,isalpha

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.