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语言字符串处理/