问题描述:有一个用字符指针表示的字符串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语言 —— 把字符指针中的字符串,存入字符数组中相关推荐

  1. c语言 字符指针输出字符串,输出字符指针就是输出字符串

    本文收集整理关于输出字符指针就是输出字符串的相关议题,使用内容导航快速到达. 内容导航: Q1:C语言 如何用指针输出字符串中间的字符? #include"stdio.h" mai ...

  2. C语言试题六十一之请编写函数fun:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中。

    1. 题目 请编写函数fun,其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程 ...

  3. c语言中字符串数组应用,C语言中字符变量字符串和字符数组应用.doc

    C语言中字符变量字符串和字符数组应用 字符变量(type`char`?字符串(string)和字符数组(type`char`arrary)是C语言中非常重要的结构成分,也是应用编程中常发生混淆?导致错 ...

  4. Python中的字符串与字符编码:编码和转换问题

    原文转载自:http://www.cnblogs.com/yyds/p/6171340.html 读后感:最近在跑实验,对于中文编码问题一直感到困扰,读完这篇文章以后,了解了Unicode编码的一些信 ...

  5. Python中的字符串与字符编码

    本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章. ...

  6. c++ 查找 list中最长的字符串_查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答)...

    查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答) 给定一个字符串str,找到不重复字符的最长子字符串. 比如我们有 "ABDEFGABEF", 最长的字符串是 ...

  7. C语言试题四十四之移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。

    1. 题目 请编写一个函数function,它的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后. 2 .温馨提示 C语言试题汇总里可 ...

  8. js中的字符串方法与数组方法总结

    js中的字符串方法与数组方法总结 1.字符串方法 2.数组方法

  9. shell php文件是否存在字符串中,shell 判断字符串是否存在数组中的实现示例

    语法格式: [[ "${array[@]}" =~ "字符串" ]] 示例: #!/bin/sh ##数组 array=( address base cart ...

  10. php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素

    怎么在php中利用reset() 函数输出数组中的第一个元素 发布时间:2021-01-16 09:37:11 来源:亿速云 阅读:66 作者:Leah 本篇文章给大家分享的是有关怎么在php中利用r ...

最新文章

  1. 论坛报名 | 数理基础:人工智能的重大理论挑战和最新成果
  2. 王木匠,我服了你一半
  3. iOS项目的目录结构和开发流程
  4. php将中文插入数据库出现乱码
  5. rac的crs进程是做什么的_Oracle rac进程详解
  6. js下拉 selenium_selenium的下拉选择框
  7. 真机调试及上线简略流程
  8. L3-023 计算图 (30 分)--PAT 团体程序设计天梯赛 GPLT
  9. bootstrap的三角方向符号实现
  10. 360壁纸图片API收录
  11. 电脑的Mac地址怎么查看
  12. cadence17.4如何修改快捷键(修改env文件,实现空格翻转)
  13. IP地址的规划和设计方法(三)
  14. 主题包网址(Theme)
  15. 以太网、局域网、广域网、因特网、互联网与万维网
  16. java常用英文单词发音_java常用英语单词(带音标)
  17. VC++钩子使用之全局键盘钩子
  18. WSL2安装Kali Linux超级新手指南
  19. SN-TOP架构的初步探讨——谈淘宝TOP平台的升级
  20. 什么是中间件 有什么用

热门文章

  1. 进程通信学习笔记(管道)
  2. vassist的安装
  3. android应用的构成组件
  4. Zookeeper 安装
  5. 微信小程序开发(1)
  6. Spring 4 官方文档学习(十一)Web MVC 框架之异常处理
  7. leetcode算法题--环绕字符串中唯一的子字符串★
  8. leetcode算法题--简化路径
  9. php 获取鼠标的坐标,如何实时获取鼠标的当前坐标-
  10. C++ 发手机短信(很易很简单)