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

相关推荐
鱼很腾apoc9 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
himobrinehacken11 小时前
位运算揭秘:左右移与符号位陷阱
c语言·c++·算法·安全
水饺编程13 小时前
第2章:Linux 基础,rm 命令
linux·c语言·汇编
夏虫不可与之言冰13 小时前
第三课 点亮 LED 与定时器非阻塞闪烁
c语言·c++·vscode·单片机·嵌入式硬件·物联网
JasmineX-114 小时前
数据结构(笔记)——顺序栈
c语言·数据结构·笔记
2401_8628808214 小时前
嵌入式Linux系统移植与驱动开发完整指南
linux·c语言·驱动开发
我叫洋洋16 小时前
Cadence 16.6 从 OrCAD Capture 原理图到 Allegro PCB 全流程(含 5 个常见坑)
c语言·eda·嘉立创
水饺编程17 小时前
第2章:Linux 基础,关机命令
linux·c语言·汇编
Brilliantwxx17 小时前
【Linux】IO(上)全篇:文件本质、C 接口、系统调用与文件描述符
linux·运维·服务器·c语言
坐看风云变幻18 小时前
《嵌入式工程师的软硬件修仙之路》第 2 期|C 语言筑基:指针与内存模型
c语言·开发语言