C语言字符串处理
C语言 字符串 %s
前言
C语言处理字符串 通过%s输出遇到的问题
1、我的结构体定义
1 | |
定义了三个结构体成员变量,均为字符数组。spare为空格。
2、main()函数
1 | |
string 字符串定义的 AA01AS01101 后面一共5个空格 , name属性的最后一个空格 ,还有spare 的4个空格 。
3、格式化控制 %s
使用%s格式化控制输出字符串时,我发现如果不进行控制,他会一直输出到\0为止 。
这就导致在结构体中的字符串成员变量失去价值 。
4、解决方案
%.4s设置宽度,即输出从此地址下的往后4个字节的字符串的宽度 。%.*s* 相当于一个占位符,和1一样 。
语法 :printf("[%.*s]\n", sizeof(aa01.head), aa01.head);第三种方法是我将
name的第八位的空格 ,也就是name[7]空格替换为了\0,这样遇到结束符号就停止,不会再向下输出了。
C语言字符串处理
http://zanderchan666.github.io/2023/09/13/C语言字符串处理/