社区
C语言
帖子详情
如何实现类似printf函数打印出的字符串的效果,即一个字符串的内容由固定的字符和根据变量内容的字符组成?
stamp80
2005-07-13 10:44:40
现在我需要程序给出一个字符串,这个字符串是由固定的字符序列中掺杂一些根据变量的内容而不同的字符所组成的。大家知道printf函数中,第一个参数是格式控制字符串,第二个参数为打印变量的列表;变量的内容在printf显示的时候加入到前面的字符串中。我要做的功能与此类似,请大虾们赐教!谢谢!
...全文
346
17
打赏
收藏
如何实现类似printf函数打印出的字符串的效果,即一个字符串的内容由固定的字符和根据变量内容的字符组成?
现在我需要程序给出一个字符串,这个字符串是由固定的字符序列中掺杂一些根据变量的内容而不同的字符所组成的。大家知道printf函数中,第一个参数是格式控制字符串,第二个参数为打印变量的列表;变量的内容在printf显示的时候加入到前面的字符串中。我要做的功能与此类似,请大虾们赐教!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
antijpn
2005-07-18
打赏
举报
回复
用sstream好了么……
Flood1984
2005-07-18
打赏
举报
回复
那你直接用sprintf函数就行了,
用法和printf一样.
YFY
2005-07-16
打赏
举报
回复
sprintf(...)
William_Wang
2005-07-15
打赏
举报
回复
建议大家去查阅C语言的 ... 参数类型
以printf函数为例,其原型是:
void printf(...);
davidmain
2005-07-15
打赏
举报
回复
下个linux源代码看看
里面的kernel/vsprintf.c
Willpro
2005-07-15
打赏
举报
回复
有啥不明白的,重写SPRINTF呀,对吧,楼猪小哥
WWW.MARK.COM/MARKER
foochow
2005-07-14
打赏
举报
回复
用 jixingzhong(瞌睡虫) 的方法自己定义一个输出函数
flying_dancing
2005-07-14
打赏
举报
回复
我也没看明白........UP
如果是字符串 也可以直接"+"
至于用到另一个函数的输入参数,我没试过,但如果一样是字符指针 应该可以吧
我啃
2005-07-14
打赏
举报
回复
用可变的函数参数就可以了有个函数叫sprintf有这个功能
stamp80
2005-07-14
打赏
举报
回复
up
zhouhuahai
2005-07-14
打赏
举报
回复
楼上的搞那么复杂干嘛? 不就是一个字符串吗,用不着可变参数.
sprintf不就可以搞定一切了吗?
它的用法和printf相类似.不过前面多了一个参数char *(要输出的字符串)
如
char str[20];
int i=9;
sprintf(str,"I am a string: %d",i); //str的内容为:I am a string: 9
llf_hust
2005-07-14
打赏
举报
回复
学习
jixingzhong
2005-07-14
打赏
举报
回复
如果有什么条件可以判定输出内容是否是固定信息,
还是程序信息的话,
可以用循环输出。
即使没有判定条件,
也可以考虑增加一个标志变量FLAG,
用循环输出,和条件判断IF语句来试试。
jixingzhong
2005-07-14
打赏
举报
回复
void myprintf( ...)
{
printf(..); //固定信息
printf(..); //程序信息
printf(..); //固定信息
... //类推
}
stamp80
2005-07-14
打赏
举报
回复
感觉大家误解了我的意思,我的意思是得到一个字符串,并不是打印出来,这个字符串是我另一个函数的输入参数。只是这个字符串是由固定信息和可变信息(也就是变量的内容)来组成的,类似于printf(输出控制列表,变量列表)函数输出的字符串。但我不知道在C中怎么实现这种功能,这种字符串的拼结功能在Java中直接用“+”号就可以实现了,但是在C中我不太清楚。我尝试了用strcat来合并,但我将这个合并的串用于另一个函数的输入参数时,报出了“段错误”。
谢谢。
K
2005-07-13
打赏
举报
回复
学习
搬不搬砖
2005-07-13
打赏
举报
回复
void myprintf(char *fmt, ...)
{
char str[1000];
va_list ap;
va_start(ap, fmt);
vsprintf(str, fmt, ap);
va_end(ap);
printf(str);
}
C
函数
printf
拼接
字符
串
C
函数
printf
拼接
字符
串
从前学C语言,最常用的
函数
可能就是
printf
了,但是往往是这样:
printf
(年龄是:"%d",a); 由于不懂得怎么拼接
字符
串
,有时候只能用两个
printf
语句,很难受。 使用多个双引号
printf
("hello " "world!");
printf
("hello word!"); //这两句的
效果
完全相同,每对双引号之间的空格不会输
出
。据此我们大胆进行尝试 在每对双引号之间使用回车
printf
("hello " "world!");
printf
函数
输
出
变量
Printf
()
函数
是
一个
标准
函数
,它的
函数
原型在头文件“stdio.h”中,该
函数
的使用方法如下所示。
printf
("格式控制
字符
串
",输
出
变量
列表) 格式
字符
串
的
内容
和意义如下所示。 %c : 输
出
单个
字符
,参数为该
字符
的ASCII码。 %d : 以十进制形式输
出
带符号整数(正数不输
出
符号)。 %e 或 %E : 以指数形式输
出
单、双精度实数,默认保留6位小数。 %f : 以小数
本题要求
实现
一个
函数
,对给定的
一个
字符
串
和两个
字符
,
打印
出
给定
字符
串
中从与第
一个
字符
匹配的位置开始到与第二个
字符
匹配的位置之间的所有
字符
本题要求
实现
一个
函数
,对给定的
一个
字符
串
和两个
字符
,
打印
出
给定
字符
串
中从与第
一个
字符
匹配的位置开始到与第二个
字符
匹配的位置之间的所有
字符
函数
接口定义: char *match( char *s, char ch1, char ch2 );
函数
match应
打印
s中从ch1到ch2之间的所有
字符
,并且返回ch1的地址。 裁判测试程序样例: #include <stdio.h> #define MAXS 10 char *match( char *s, char ch1
C语言
实现
字符
串
删除
字符
函数
要求输入
一个
字符
串
内有若干个
字符
,再输入
一个
字符
,使得输
出
字符
串
中这一
字符
全部被删除。 对于这个问题,我们考虑构造delete_me
函数
(delete是已定义过的
函数
不能再做
变量
名)来
实现
。我们首先想到的思路当然是使用两个
字符
串
数组,
一个
输入原始
字符
串
,
一个
进行删减处理后输
出
,代码如下: #include <stdio.h> int main() { char a,str[100]; void delete_me(char str[],char ch);
printf
("请输入
字符
串
\n"
实现
一个
函数
翻转
字符
串
(将
一个
字符
串
的
内容
,逆序存储)
实现
一个
函数
翻转
字符
串
(将
一个
字符
串
的
内容
,逆序存储) 这与
实现
模拟strcpy的过程有相似之处,模拟
实现
strcpy是将原
字符
串
复制过来,而现在需要创建
一个
新的
字符
串
空间,将原
字符
内容
串逆序存储,写
函数
,利用指针
变量
找到
字符
串
中每
一个
字符
所在的位置,再对其进行赋值操作。 一定要注意
字符
串
结尾必须有 ‘\0' ,否则执行程序的结果会
出
错。 程序代码如下:
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章