PureWhite 发表于 2017-6-26 19:35:11

谁能教我一下c语言怎么文件操作

如题,求dalao帮帮忙,跪谢

PureWhite 发表于 2017-6-26 20:45:19

求道于盲 发表于 2017-6-26 23:07:30

fopen
fclose
fscanf
fprintf
fgets
fputs
fread
fwrite
fseek
ftell
常用的就是这些函数了
怎么用直接百度

shuofxz 发表于 2017-6-27 00:21:53

文件读取方面自己总结的一些常用的东西

头文件
#include <fstream>

从文件读取数据
ifstreamifile("test.txt");

写入文件
ofstreamofile("test.txt");

一次读取一行
getline()
getline(cin, ss)
getline(ifile, ss)

文件读取:
ifile >> num >> name >> age ;

最后一定要记得关闭输入输出流
ifile.close();
ofile.close();


C语言
先定义文件指针   FILE *fp;

打开文件
fp = fopen("文件名", "读写方式");
读写方式:
w写(覆盖写)若文件存在则文件长度清为0。若文件不存在则建立该文件
r    只读该文件必须存在
a    追加,在文件末尾加入新的
r+ 以可读写方式打开文件,该文件必须存在
w+ 若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件
a+若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留

以上均可在后面添加b,表示以二进制打开:
如果有参数b,是以二进制方式打开,这种方式不会进行”回车符”和”换行符”的转换.而如果没有b,即单以”w”为参数的话,系统就把换行符0A转换为0D0A,因为windows是以0D0A为换行符的.


关闭文件:
fclose(fp);


文件读写:
#include "stdio.h"   
#include <stdlib.h>
int main() {   
    FILE *fp;   
    char ch;
    if((fp=fopen("myfile.txt","r"))==NULL) {
      printf("file cannot be opened/n");   
      exit(1);   
    }   
    while((ch=fgetc(fp))!=EOF)   
      fputc(ch,stdout);   
    fclose(fp);   
}
// fgetc(fp)每次从文件中读取一个字符
// fputc(ch, stdout);stdout标准输出FILE指针stdout,会显示在屏幕上

读取指定数目字符
fgets(字符指针, 读取数目, 文件指针);
ps. 实际读取的数目是[读取数目-1],且遇到回车就停止,回车会传入到字符数组中

格式化文件读写:
fprintf(文件指针, "%d", i);
fscanf(文件指针,...);
用法基本等同printf和scanf,只是在最前面加上文件指针


移动文件指针:
rewind(文件指针)    指针移动到文件开头

PureWhite 发表于 2017-6-27 19:00:46

shuofxz 发表于 2017-6-27 00:21
文件读取方面自己总结的一些常用的东西

头文件


你好,这我有点看不懂啊。。。请问有视频教学吗?

shuofxz 发表于 2017-6-27 19:15:09

PureWhite 发表于 2017-6-27 19:00
你好,这我有点看不懂啊。。。请问有视频教学吗?

没有视频教学呀。。。
这些上面写的都是平常会用到的文件操作函数
或者你看下这篇文章,对你有没有帮助
http://www.cnblogs.com/duzouzhe/archive/2009/10/24/1589348.html
页: [1]
查看完整版本: 谁能教我一下c语言怎么文件操作