博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
按照字符读写文件
阅读量:4211 次
发布时间:2019-05-26

本文共 1375 字,大约阅读时间需要 4 分钟。

(1).读写文件中字符的函数(一次只读写文件中的一个字符)

 

int fgetc(FILE *stream);

int fgetchar(void);

int fputc(int ch,FILE *stream);

int fputchar(int ch);

       int getc(FILE *stream);

       int putc(int ch,FILE *stream);

其中fgetc()函数将把由流指针指向的文件中的一个字符读出,例如:

   ch=fgetc(fp);

将把流指针fp指向的文件中的一个字符读出,并赋给ch,当执行fgetc()函数时,若当时文件指针指到文件尾,即遇到文件结束标志EOF(其对应值为-1),该函数返回一个-1给ch,在程序中常用检查该函数返回值是否为-1来判断是否已读到文件尾,从而决定是否继续。

 

#include "stdio.h"

main()

{

FILE *fp;

ch ch;

if((fp=fopen("myfile.tex","r"))==NULL)

{

printf("file cannot be opened\n");

exit(1);

}

       while((ch=fgetc(fp))!=EOF) fputc(ch,stdout);

fclose(fp);

}

              

该程序以只读方式打开myfile.txt文件,在执行while循环时,文件指针每循环一次后移一个字符位置。用fgetc()函数将文件指针指定的字符读到ch变量中,然后用fputc()函数在屏幕上显示,当读到文件结束标志EOF时,变关闭该文件。

上面的程序用到了fputc()函数,该函数将字符变量ch的值写到流指针指定的文件中去,由于流指针用的是标准输出(显示器)的FILE指针stdout,故读出的字符将在显示器上显示。又比如:

putc(ch,fp);

该函数执行结构,将把ch表示的字符送到流指针fp指向的文件中去。

在TC中,putc()等价于fput(),getc()等价于fgetc()。

putchar(c)相当于fputc(c,stdout);getchar()相当于fgetc(stdin)。

注意,这里使用char ch,其实是不科学的,因为最后判断结束标志时,是看ch!=EOF,而EOF的值为-1,这显然和char是不能比较的。所以,某些使用,我们都定义成int ch。

 

示例代码如下:

#define  _CRT_SECURE_NO_WARNINGS #include 
#include
#include
void main01_fputc(){ int i = 0; FILE *fp = NULL; //char *filename = "c:\\1.txt"; char *filename2 = "c:/2.txt"; // 统一的用45度 char a[27]= "abcdefghijklmn"; fp = fopen(filename2, "r+"); if (fp == NULL) { printf("func fopen() err:%d \n"); return; } printf("打开成功\n"); for (i=0; i

 

转载地址:http://cqzmi.baihongyu.com/

你可能感兴趣的文章
【Windows C++】调用powershell上传指定目录下所有文件
查看>>
Java图形界面中单选按钮JRadioButton和按钮Button事件处理
查看>>
小练习 - 排序:冒泡、选择、快排
查看>>
SparkStreaming 如何保证消费Kafka的数据不丢失不重复
查看>>
Spark Shuffle及其调优
查看>>
数据仓库分层
查看>>
常见数据结构-TrieTree/线段树/TreeSet
查看>>
Hive数据倾斜
查看>>
TopK问题
查看>>
Hive调优
查看>>
HQL排查数据倾斜
查看>>
DAG以及任务调度
查看>>
LeetCode——DFS
查看>>
MapReduce Task数目划分
查看>>
ZooKeeper分布式锁
查看>>
3126 Prime Path
查看>>
app自动化测试---ADBInterface驱动安装失败问题:
查看>>
RobotFramework+Eclipse安装步骤
查看>>
测试的分类
查看>>
photoshop cc2019快捷键
查看>>