如何连接字符串,但保留每个单独的空终止符?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何连接字符串,但保留每个单独的空终止符?相关的知识,希望对你有一定的参考价值。
void printHeader(char *Category_Names)
printf("%s %s %s %s", Category_Names,(char*)Category_Names+15,(char*)Category_Names+30,(char*)Category_Names+45);
首先,为了我的问题,我已经简化了该功能。对于我的班级,我正在阅读本质上是一本成绩册的输入文件,并且正在创建学生及其成绩的链接列表。无论如何,输入文件的顶部包含4个用空格分隔的类别。例如,“测验期中家庭作业决赛”有效。对于该项目,我们可以假定每个类别最多15个字符(如果不算空终止符,则为14个字符)。这就是我阅读输入的方式。
fscanf(file, "%15s %15s %15s %15[^\n]s%*c", category1, category2, category3, category4);
现在,我已经没有背景了,我终于可以问我的问题了。我如何串联这些字符串,同时在结果字符串的中间保留空终止符?显然,使这些空终止符基于printf调用中的参数至关重要。在有人建议我改变这种方法之前,我希望可以。这是由我的教授提供的,如果我愿意,我肯定会以不同的方式进行。谢谢
答案
如何连接这些字符串,同时在结果字符串的中间保留空终止符?
无法与null character之后的任何内容组成C string。 string以'\0'
结尾。
相反,使用fwrite()
写入15 * 4字节
void printHeader(char *Category_Names)
// printf("%s %s %s %s", Category_Names,(char*)Category_Names+15, ...
write(Category_Names, 15, 4, stdout);
建议也以二进制形式打开文件。
以上是关于如何连接字符串,但保留每个单独的空终止符?的主要内容,如果未能解决你的问题,请参考以下文章