C语言中对文件进行读写操作必须先将文件怎么办

如题所述

要先声明一个文件指针,然后利用fopen函数打开文件,该函数打开文件成功会返回一个指向该流的文件指针,然后通过文件指针对文件进行操作,最后在通过fclose函数来关闭流并释放文件指针。

fopen函数原型:FILE * fopen(const char * path,const char * mode);
第一个参数是路径,第二个参数是打开文件的方式,有以下几种:
r 以只读方式打开文件,该文件必须存在。
  r+ 以可读写方式打开文件,该文件必须存在。
  rb+ 读写打开一个二进制文件,允许读数据。
  rw+ 读写打开一个文本文件,允许读和写。
  w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
  w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
  a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
  wb 只写打开或新建一个二进制文件;只允许写数据。
  wb+ 读写打开或建立一个二进制文件,允许读和写。
  wt+ 读写打开或着建立一个文本文件;允许读写。
  at+ 读写打开一个文本文件,允许读或在文本末追加数据。
  ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
  上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。

fclose函数用法:int fclose(FILE *stream);
参数为指向与关闭文件的文件指针。

例如:
#include <stdio.h>
  #include <stdlib.h> //为了使用exit()
  int main()
  {
    char ch;
    FILE* fp;
    char fname[50]; //用于存放文件名
    printf("输入文件名:");
    scanf("%s",fname);
    fp=fopen(fname,"r"); //只供读取
    if(fp==NULL) //如果失败了
    {
      printf("错误!");
      exit(1); //中止程序
    }
    //getc()用于在打开文件中获取一个字符
    while((ch=getc(fp))!=EOF)
      putchar(ch);
    fclose(fp); //关闭文件
    return 0;
  }
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-10
在对文件进行读写之前必须 先打开文件,可使用fopen或者open 函数。
如下:
FILE *fp;
fp=fopen("d:\\a.txt","r+");//打下D盘下的a.txt文件
然后你就可以进行读写了。本回答被提问者和网友采纳
第2个回答  2012-06-10
只要你在调用函数时,写出文件的绝对路径就可以

c语言的文件操作
在进行文件操作之前,需要先打开文件。C语言中提供了多种打开文件的函数,如`fopen`等。这些函数会返回一个文件指针,如果打开文件失败,则返回NULL。打开文件时需要指定文件的路径和打开方式。三、文件读写 文件打开后,就可以进行读写操作了。对于文本文件,可以使用`fscanf`和`fprintf`函数进行读写;对...

C语言中读取文件时怎么跳过文件前几行
2种方法,一种是for(i=0;i<n;i++)fgets(str);先将前一行存到一个不用的变量,然后再开始存后面的变量。第二种方法是用fseek函数

C语言 写入TXT前怎么先把TXT中的内容先清空
只能将数据写入文件,文件可以存在,也可以不存在 文件不存在,则自动建立新文件 文件存在,则先删除其中所有内容,再接受写入的数据

C语言中我想在文件中同时进行读写操作
32 34 56 并且用fseek来改变文件指针也会有很多问题。为了避免这个问题,可以先将文件读入,修改后写到另一个文件中,读完文件后删除这个文件,再把另一个文件改成这个文件的名字。给段简单的代码你看看 int main(){ FILE *pin, pout;pin = fopen("a.txt", "rb");pout = fopen("b.txt", ...

如何用c语言实现文件先写入部分数据,然后再读取输出在屏幕上
文件先写入部分数据,然后再读取输出在屏幕上,所以,在打开文件时必须以可读写方式"+"打开文件。(r+ w+ a+均可)写完后,再读。因此,要把文件指针前移才可以,否则当前位置处在已写完的数据位置,无法读到数据。参考代码:include<stdio.h>int main(){ FILE *fp; char read[1000]; ...

linuxc读取文件,解析linuxc读取文件
C语言对文件进行读取之前需要先打开文件,然后再进行读写,读写完之后关闭文件。可以使用两组函数实现:一、C语言库函数打开文件:fopen读写(一般对应成对使用):fgetc---fputcfgets---fputsfread---fwrite关闭文件:fclose 二、Linux系统函数打开文件:open读写(一般对应成对使用):read---write关闭...

C语言的文件读写
-- 书本用的是老概念。键盘输入,我们按Enter键,C\/C++语言收到的就是'\\n'(新行符)。打字机老概念:回车和换行,回车就是回到本行开始位置,换行就是到下一行。回车符 '\\r',换行符'\\n',老码 CRLF。“从键盘输入4个学生的数据是ASCII码,也就是文本文件”,把“也就是文本文件”删去。键盘...

C语言中要读一个文件需要文件路径么
文件不在执行程序的文件夹内,就需要完整的文件路径。在文件夹内,使用文件名即可。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、...

c语言从文档中读取出来的数怎么运用
C语言中对文件进行操作必须首先打开文件,打开文件主要涉及到fopen函数。fopen函数的原型为 FILE* fopen(const char *path,const char *mode)其中path为文件路径,mode为打开方式 1)对于文件路径,只需注意若未明确给出绝对路径,则默认该文件在工程的目录下。若需给出绝对路径,则注意转义字符'\\',比如...

C语言的文件读写
键盘输入,我们按Enter键,C\/C++语言收到的就是'\\n' (新行符)。打字机老概念:回车和换行,回车就是回到本行开始位置,换行就是到下一行。回车符 '\\r' ,换行符'\\n' , 老码 CRLF。“从键盘输入4个学生的数据是ASCII码,也就是文本文件”,把“也就是文本文件”删去。键盘输入是输入流,不...

相似回答