Top

C/C++文件读写大杂烩


c++:ifstream

1
2
3
4
5
fstream in;  //读文件
in.open("路径"); //只读 可以放在fstreaam in("路径");
fstream out; //写文件
out.open("路径");
out.close();//关闭文件

如果文件不存在返回错误

1
2
3
4
if (!in.is_open()) {  //文件不存在,返回错误,并生成一个文件
cout << "Error!" << endl;
exit(1); //终止程序
}

如果文件不存在新建

1
2
fstream in;
in.open("路径",fstream::out||fstream::in);

成功打开文件后写入数组,写入文件

1
2
in>>a[i];
out<<a[i];

C:stdio.h ,stdlib.h

1
2
3
4
5
6
7
8
9
FILE *fp;  //文件指针变量
fp=fopen("路径",“文件使用方式”); //文件使用方式:r,w,a,rb,wb,ab,r+,w+,a+,rb+,wb+,ab+
fclose(fp); //关闭文件
fgetc(fp); //从fp指向文件读入一个字符
fputs(ch,fp); //把字符写入fp指向文件
fgets(str,n,fp); //从fp指向文件中读入一个长度为n-1的字符串存在str中
fputs(str,fp) //把str写入fp指向文件
fprintf(fp,"%d%s",i,str); //向fp中输入整数i,字符串str;
fscanf(fp,"%d%s",i,str); //从fp文件中读出一个整数一个字符串给整数i,字符串str

二进制读写–常用于读写结构体

1
2
fread(变量地址,size,count,fp);	//从fp指的文件中读入连续count个size字节数据写入到变量
fwrite(变量地址,size,count,fp); //从变量中取出连续count个size字节数据写入到fp指向文件中