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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 —— 把字符指针中的字符串,存入字符数组中

發布時間:2025/10/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 —— 把字符指针中的字符串,存入字符数组中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述:有一個用字符指針表示的字符串char *str = "0 12";? 有一個數組 char buf[128] = {0}; 現在需要將字符指針表示的字符串"0 12",放入到數組buf中。

一、首先了解一下字符串的表示方式,即c語言中怎樣定義字符串

可以用數組來初始化:

例如:char buf[5] = {'a','b','c'}; 或者 char buf[5] = {"abc"}; 或者 buf[5] = "abc";

可以用指針來初始化:

例如:char *pcStr = "abc";

測試代碼如下:?

#include <stdio.h>int main() {char buf[5] = {'a','b','c'};//char buf_1[5] = {"a","b","c"}; //錯誤:字符數組初始值設定項中有多余元素char buf_2[5] = {"abc"};char buf_3[5] = "abc";char *pcStr = "abc";int i = 0;for(i = 0; i < 5; i ++){ /*結果顯示:buf[0]=97 buf[1]=98 buf[2]=99 buf[3]=0 buf[4]=0*/printf("buf[%d]=%d ", i, buf[i]); }printf("\n");/*for(i = 0; i < 5; i ++){ //結果顯示:string.c:6:2: 錯誤:字符數組初始值設定項中有多余元素printf("buf_1[%d]=%d ", i, buf_1[i]);}printf("\n");*/for(i = 0; i < 5; i ++){ /*結果顯示:buf_2[0]=97 buf_2[1]=98 buf_2[2]=99 buf_2[3]=0 buf_2[4]=0*/printf("buf_2[%d]=%d ", i, buf_2[i]);}printf("\n");for(i = 0; i < 5; i ++){ /*結果顯示:buf_3[0]=97 buf_3[1]=98 buf_3[2]=99 buf_3[3]=0 buf_3[4]=0*/printf("buf_3[%d]=%d ", i, buf_3[i]);}printf("\n");while('\0' != *pcStr) //注意這里的判斷條件{ /*結果顯示:*pcStr=97 *pcStr=98 *pcStr=99*/printf("*pcStr=%d ", *pcStr);pcStr++;}printf("\n");return 0; }

?二、把指針表示的字符串內容,放入數組中,用數組來表示

#include <stdio.h>int main(char argc, char *argv[]) {int i = 0;int j = 0;char *str = "0 12";char buf[5] = {0}; //最好設置的數組長度比較大,大于或者等于字符串長度while(*str != '\0'){buf[i] = *str;i++;str++;} buf[i] = '\0'; //數組的最后一個字符設置為'\0'printf("%s\n", buf); //打印整個數組的值for(j = 0; j < 5; j++){printf("buf[%d]=%d ", j, buf[j]); //另一種方式看數組最后的賦值結果}printf("\n");return 0; }

編譯并執行后的結果顯示:

[root@localhost test]# make buc_b cc buc_b.c -o buc_b [root@localhost test]# ./buc_b 0 12 buf[0]=48 buf[1]=32 buf[2]=49 buf[3]=50 buf[4]=0

分析結果:

可以查看ASCII碼,可知,

字符'0'的十進制是48,
空格SPACE的十進制是32,
字符'1'的十進制是49,
字符'2'的十進制是50,
字符'\0'的十進制是0

總結

以上是生活随笔為你收集整理的C语言 —— 把字符指针中的字符串,存入字符数组中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。