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

相关推荐
竞赛考级题库14 分钟前
202606 青少年等级考试C/C++真题一级 建议答题时长:60min
java·c语言·c++
迷茫、Peanut19 分钟前
C语言混合链接
c语言
wdfk_prog1 小时前
RT-Thread Kconfig 配置明明是 y,为什么 rtconfig.h 就是不生成?一次 `_PATH` 后缀踩坑复盘
c语言
是隼人1 小时前
buuctf-pwn jarvisoj_level5(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
Suxing92 小时前
C语言基础分享:C语言文件操作:从“写日记”到“拍电影”的存盘指南
c语言·开发语言
Navigator_Z2 小时前
LeetCode //C - 1237. Find Positive Integer Solution for a Given Equation
c语言·算法·leetcode
春风解人意11 小时前
从零开始学习嵌入式P32----网络基础之TCP
c语言·网络·学习·tcp/ip
是隼人14 小时前
buuctf-pwn inndy_echo(32位fmt)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
刃神太酷啦15 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
是隼人19 小时前
buuctf-pwn mrctf2020_easy_equation(64位fmt)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门