当前位置: 首页 > news >正文

再学C语言47:字符串输出

C中有3个用于输出字符串的标准库函数:puts(),fputs(),printf()

一、puts()函数

示例代码:

/* test of puts() function */
#include <stdio.h>#define ARR_T "I am an array."int main(void)
{char str1[100] = "this is an initialized array.";char * str2 = "this is another initialized array.";// puts()函数输出字符串的多种形式//puts(ARR_T);puts("an initialized array.");puts(str1);puts(str2);puts(&str1[5]);puts(str1 + 5);return 0;
}

运行结果:

f39c74515cc94e4a8e34237a5a7cf059.png

1)与printf()函数不通,puts()函数显示字符串时自动在其末尾添加一个换行符

2)puts()函数的停止:遇到空字符就停下来(\0),所以应确保有空字符存在 

二、fputs()函数

fputs()函数是puts()函数的面向文件版本,二者之间的区别:

1)fputs()需要第二个参数以说明要写的文件,可以使用stdout(代表standard output)作为参数进行输出显示,stdout在stdio.h文件中定义

2)与puts()函数不同,fputs()并不为输出自动添加换行符


注意:

gets()丢掉输入中的换行符;fgets()存储输入中的换行符

puts()为输入添加换行符;fputs()不为输入添加换行符

示例代码:

/* test of gets() / puts() and fgets() / fputs() */
#include <stdio.h>int main(void)
{char str1[100];char str2[100];// gets()函数和puts()函数搭配printf("input a name:\n");gets(str1); // //printf("\n");puts(str1);// fgets()函数和fputs()函数搭配printf("input another name:\n");fgets(str2, 100, stdin); // 3个参数fputs(str2, stdout); // 2个参数return 0;
}

运行结果:

c1b5ec18f1fc4ff98fa0c9c007affdd6.png


三、printf()函数

printf()函数需要一个字符串作为参数

printf()函数使用不如puts()函数方便,但是其可以格式化多种数据类型,因而更通用

printf()函数并不自动在新行上输出每一个字符串

// 两个语句效果相同
printf("%s\n", str);
puts(str);

如果需要在一行输出多个字符串,printf()函数更简单:

printf("%s, %s\n", str1, str2);

puts()函数无法这么轻易地实现该功能,因为puts()函数会自动为输出添加换行符,用fputs()函数可以

 

http://www.lryc.cn/news/43670.html

相关文章:

  • 银行数字化转型导师坚鹏:如何制定银行数字化转型年度培训规划
  • RFID技术在物流行业中的应用:优化物流流程,提高效率
  • 安卓机器学习框架学习:Android Neural Networks API (NNAPI)
  • 阿里云GPU服务器收费标准、学生价格及一个小时费用大全
  • Asp.net core 依赖注入 (带案例以及注释理解)
  • 【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
  • GO实现Redis:GO实现Redis集群(5)
  • 高阶数据结构之 B树 B+树 B*树
  • CSS3之动画属性
  • python --Matplotlib详解
  • 手机(Android)刷NetHunter安装指南,无需ssh执行kali命令, NetHunter支持的无线网卡列表!
  • 教育行业ChatGPT的新挑战
  • 内存泄漏 定位方法
  • es-head插件插入查询以及条件查询(五)
  • 安装python教程并解决Python安装完没有Scripts文件夹问题
  • postman的断言、关联、参数化、使用newman生成测试报告
  • 春招大盘点:找工作除了招聘网站还有哪些渠道?
  • eNSP 构建基本WLAN
  • Python是不是被严重高估了?
  • 给你一个购物车模块,你会如何设计测试用例?【测试用例设计】
  • 【wps】【毕业论文】三线表的绘制
  • Spring Cloud Alibaba 多租户saas企业开发架构技术选型和设计方案
  • Unity IL2CPP 游戏分析入门
  • Python的23种设计模式(完整版带源码实例)
  • OAuth2协议
  • LeetCode-115. 不同的子序列
  • kubernetes scheduler 源码解析及自定义资源调度算法实践
  • MySQL插入数据
  • 从GPT-4、文心一言再到Copilot,AIGC卷出新赛道?
  • 1.2 从0开始学Unity游戏开发--运行原理