C语言完美演绎9-19

/* 范例:9-19(适用TC、BCB,但VC++的fputs、fgets定义不同)*/

#include <stdio.h> /* 若在BCB执行,需加入#include <stdlib.h> */

void main(int argc,char *argv\[\])

{

FILE *fp1;

int ch,i;

char *p1="ABCD";

char *p2="abcdefg\nAA";

if ((fp1=fopen(argv1,"w"))==NULL) /* 写入模式 */

{

printf("文件%s打开失败\n",argv1);

getchar();

exit(1); /* 强迫离开程序 */

}

ch=fputs(p1,fp1); /* 写入fp1(不含'\0'),返回p1字符串最后字符68(D) */

printf("\"ABCD\" return => %d\n",ch);

ch = fputs(p2,fp1); /* abcd接于上一字符串后,分2行写入fp1,

返回p2字符串最后字符65(A) */

printf("\"abcdefg\\nAA\" return => %d\n",ch);

puts("Line1"); /* puts()输出这两行包含'\0' */

puts("Line2");

fclose(fp1);

fp1=fopen(argv1,"r");

while(fgets(p1,6,fp1)!=NULL) /* 取得5个字符 */

{

puts(p1); /* 输出到屏幕 */

}

fclose(fp1);

}

程序执行结果:

D:\TC>p9-19 out.txt

"ABCD" return => 68

"abcdefg\nAA" return => 65

Line1

Line2

ABCDa

bcdef

g

AA

以DOS指令看out.txt:

D:\TC>type out.txt

ABCDabcdefg

AA

相关推荐
躺柒13 小时前
读半导体简史08大型机
linux·服务器·c语言·数据库·unix·ibm
十月的皮皮13 小时前
STM32从零到量产开发:四路继电器工业控制模块开发— 继电器模块bsp_di.h与 bsp_di.c文件
c语言·stm32·stm32cubemx·hal库
wuyk55515 小时前
67.嵌入式C语言进阶:结构体指针实战指南——STM32外设、传感器数据访问的高效技巧
c语言·开发语言·stm32·单片机
我不管我就要叫小猪15 小时前
C/C++----命名空间
c语言·开发语言·c++
白白白小纯16 小时前
算法篇—返回倒数第k个节点
c语言·数据结构·算法·leetcode
无忧.芙桃16 小时前
数据结构之堆
c语言·数据结构·c++·算法·
2301_7779983416 小时前
Linux线程控制——从线程创建到线程分离(第三部分:线程等待 pthread_join)
linux·运维·服务器·c语言·c++
LONGZETECH16 小时前
新能源汽车动力系统仿真硬核拆解:五系统分层架构的设计逻辑与技术权衡
c语言·开发语言·架构·汽车·汽车仿真教学软件·汽车教学软件
白白白小纯17 小时前
算法篇—链表的中间节点
c语言·数据结构·算法·leetcode
麻瓜老宋18 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十步,魔法数修复、测试分隔符、位运算截断检查、进制溢出检查
c语言·开发语言·atomcode