问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言程序属于什么类型的文件,所以可以使用具有文本标记功能的任何

发布网友 发布时间:2022-04-24 08:52

我来回答

1个回答

热心网友 时间:2023-10-09 05:13

 在C语言中,文件操作都是由库函数来完成的。 在本章内将介绍主要的文件操作函数。

文件打开函数fopen

  fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的文件名。 “使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如:
FILE *fp;
fp=("file a","r");
其意义是在当前目录下打开文件file a, 只允许进行“读”操作,并使fp指向该文件。
又如:
FILE *fphzk
fphzk=("c:\\hzk16',"rb")
其意义是打开C驱动器磁盘的根目录下的文件hzk16, 这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\ ”中的第一个表示转义字符,第二个表示根目录。使用文件的方式共有12种,下面给出了它们的符号和意义。

文件使用方式        意 义
“rt”      只读打开一个文本文件,只允许读数据
“wt”      只写打开或建立一个文本文件,只允许写数据
“at”      追加打开一个文本文件,并在文件末尾写数据
“rb”      只读打开一个二进制文件,只允许读数据
“wb”       只写打开或建立一个二进制文件,只允许写数据
“ab”       追加打开一个二进制文件,并在文件末尾写数据
“rt+”      读写打开一个文本文件,允许读和写
“wt+”      读写打开或建立一个文本文件,允许读写
“at+”      读写打开一个文本文件,允许读,或在文件末追加数 据
“rb+”      读写打开一个二进制文件,允许读和写
“wb+”      读写打开或建立一个二进制文件,允许读和写
“ab+”      读写打开一个二进制文件,允许读,或在文件末追加数据

对于文件使用方式有以下几点说明:

1. 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read): 读
w(write): 写
a(append): 追加
t(text): 文本文件,可省略不写
b(banary): 二进制文件
+: 读和写

2. 凡用“r”打开一个文件时,该文件必须已经存在, 且只能从该文件读出。

3. 用“w”打开的文件只能向该文件写入。 若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。

4. 若要向一个已存在的文件追加新的信息,只能用“a ”方式打开文件。但此时该文件必须是存在的,否则将会出错。

5. 在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:
if((fp=fopen("c:\hzk16","rb")==NULL)
{
printf("error on open c:\hzk16 file!");
getch();
exit(1);
}
  这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c: hzk16file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,只有当用户从键盘敲任一键时,程序才继续执行, 因此用户可利用这个等待时间阅读出错提示。敲键后执行exit(1)退出程序。

6. 把一个文本文件读入内存时,要将ASCII码转换成二进制码, 而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。

7. 标准输入文件(键盘),标准输出文件(显示器 ),标准出错输出(出错信息)是由系统打开的,可直接使用。文件关闭函数fclose()文件一旦使用完毕,应用关闭文件函数把文件关闭, 以避免文件的数据丢失等错误。

fclose函数

调用的一般形式是: fclose(文件指针); 例如:
fclose(fp); 正常完成关闭文件操作时,fclose函数返回值为0。如返回非零值则表示有错误发生。文件的读写对文件的读和写是最常用的文件操作。

在C语言中提供了多种文件读写的函数:
·字符读写函数 :fgetc和fputc
·字符串读写函数:fgets和fputs
·数据块读写函数:freed和fwrite
·格式化读写函数:fscanf和fprinf

  下面分别予以介绍。使用以上函数都要求包含头文件stdio.h。字符读写函数fgetc和fputc字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个字符。

一、读字符函数fgetc

  fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为: 字符变量=fgetc(文件指针); 例如:ch=fgetc(fp);其意义是从打开的文件fp中读取一个字符并送入ch中。

  对于fgetc函数的使用有以下几点说明:
1. 在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。

2. 读取字符的结果也可以不向字符变量赋值,例如:fgetc(fp);但是读出的字符不能保存。

3. 在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该位置指针将向后移动一个字节。 因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。

[例]读入文件e10-1.c,在屏幕上输出。
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("e10_1.c","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch != EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
君主立宪制有哪些特点 ?君主立宪制的特点是什么君主立宪制国家有几个 谁能帮我下载昵图网的一张图片? 300-600÷5的脱式计算图片? 交过几个男朋友算多?男的进! 25岁交过三个男朋友算多吗?现在都不敢再交男朋友了,好害怕的感觉_百度... 在领结婚证前买的房,房产证是2个人的名字,现在想买第二套房,领了结婚... 笔记本电脑使用中卡住,等恢复后无法连接网络 如何将未分配的200多G合并到C盘?请各位大侠详细指导,感激万分!!! 50G的C盘剩下多少空间的好 电厂污水处理常用几种药剂. c语言中可运行的文件是以什么为扩展名的__ c语言中 系统自动打开的文件是什么类型? 污水处理用什么药剂? 请问C语言读取的文件都可以是什么类型的?文本文件,dat文件可以。其他的如gcode文件可以吗? 常见的污水处理药剂有哪些? c语言文件的类型只有哪种? C语言中的文件类型只有哪两种 污水处理厂化学药剂有哪些 废水处理常用药剂种类有哪些? C语言的选择题 污水处理厂用什么药剂? C语言的数据文件有哪些?都有什么特点? c语言中文件类型有几种? 判断C语言处理的文件类型只能是文本文件 C语言能处理的文件是文本文件或二进制文件两种吧? 江苏省建筑施工安全注册安全工程师继续教育在哪培训? 吃什么增强免疫力 要吃什么药增强孩子免疫力,要多吃什么呢? 儿童增强免疫力的药品有哪些 增强儿童抵抗力的药有什么? e支付app是干嘛的,靠谱吗? C语言可以处理的文件类型有哪些? e支付app是什么? 水处理药剂都包含哪些种类,能说的 C语言程序编译后产生哪些类型的文件?这些文件的作用是什么? 污水处理用的药剂有哪些? 污水处理厂用那些水处理药剂? 什么是水处理药剂 水处理药剂有哪些? 提升情商的方法有哪些? 化工厂污水处理药剂有哪些 回执单号,是怎么怎么查找? 最常用的水处理药剂有哪些 做什么工作比较会提高情商? 污水处理用什么药 回执单号在哪查? 做什么可以提高情绪? 废水处理药剂的聚合硫酸铁水处理药剂 通过什么方法可以提高情商? 微信回执单号怎么查?