|
发表于 2017-6-27 00:21:53
|
显示全部楼层
文件读取方面自己总结的一些常用的东西
头文件
#include <fstream>
从文件读取数据
ifstream ifile("test.txt");
写入文件
ofstream ofile("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(文件指针) 指针移动到文件开头 |
|