通过一个简单的示例进行讲解(此示例用文本文件进行演示):
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#define FILE_NAME "demo.txt" // 文件名称
int main()
{
FILE* fp = NULL// 文件指针
char* szAppendStr = "Text"
errno_t eResult
// 以附加方式打开可读/写的文件, 如果没有此文件则会进行创建,然后以附加方式打开可读/写的文件
eResult = fopen_s(&fp, FILE_NAME, "a+")
// 打开文件失败
if (eResult != 0)
exit(-1)
// 将追加内容写入文件指针当前的位置
fputs(szAppendStr, fp)
// 最后不要忘了,关闭打开的文件~~~
fclose(fp)
return 0
}
扩展资料
文件的打开和关闭
open()函数的作用是打开文件,其调用格式为: int open(char *filename, int access)该函数表示按access的要求打开名为filename的文件,返回值为文件描述字,其中access有两部分内容: 基本模式和修饰符, 两者用" "("或")方式连接。修饰符可以有多个, 但基本模式只能有一个。
open()函数打开成功, 返回值就是文件描述字的值(非负值), 否则返回-1。 close()函数的作用是关闭由open()函数打开的文件, 其调用格式为: int close(int handle)该函数关闭文件描述字handle相连的文件。
1、使用VS新建空工程,直接点击确定,如下所示。
2、新建c文件,用于C语言编译器,输入main.c文件,如下所示。
3、参考代码:
#include <stdio.h>
int main()
{
//下面是写数据,将数字0~9写入到data.txt文件中
FILE *fpWrite=fopen("data.txt","w")
if(fpWrite==NULL)
{
return 0
}
for(int i=0i<10i++)
fprintf(fpWrite,"%d ",i)
fclose(fpWrite)
//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上
int a[10]={0}
FILE *fpRead=fopen("data.txt","r")
if(fpRead==NULL)
{
return 0
}
for(int i=0i<10i++)
{
fscanf(fpRead,"%d ",&a[i])
printf("%d ",a[i])
}
getchar()//等待
return 1
}
4、编译完成后,运行exe程序,执行后显示console程序。
楼下这个人真的装,不会就算了还在这水,你还是去打斗地主吧!这个题简单,用fgetc函数直接进行循环写入就行了,话说贴主是湖工大的吧?这是实训题,你还是自己打一下吧,下面是参考答案:
#include<stdlib.h>
#include<stdio.h>
void solve(){
FILE *fp1,*fp2
fp1=fopen("a.txt","r")
fp2=fopen("b.txt","w")
char c
c=fgetc(fp1)
while(c!=EOF)
{
fputc(c,fp2)
c=fgetc(fp1)
}
fclose(fp1)
fclose(fp2)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)