1、文件的打开关闭与错误信息的输出
#include <stdio.h>
using namespace std;
int main(int argc,const char* argv[]){
FILE* fp=fopen("../file.txt","r"); //定义文件指针fp,以只读的方式打开文件
if(fp==nullptr){
perror("file error"); //打印当前错误码对应的错误信息
return -1;
}
printf("file open success\n");
fclose(fp); //关闭文件
return 0;
}
2、使用fgetc、fputc实现linux中的cp指令
#include <stdio.h>
using namespace std;
int main(int argc, char const *argv[])
{
if(argc!=3){
printf("input fail\n");
printf("usage: cp fail\n");
return -1;
}
FILE* srcfile=NULL;
FILE* destfile=NULL;
if((srcfile=fopen(argv[1],"r"))==NULL){
perror("srcfile open error");
return -1;
}
if((destfile=fopen(argv[2],"w"))==NULL){
perror("destfile open error");
}
char ch;
while((ch=fgetc(srcfile))!=EOF){
fputc(ch,destfile);
}
fclose(srcfile);
fclose(destfile);
printf("file copy success\n");
return 0;
}
3、使用fgets、fputs
#include <stdio.h>
#include <iostream>
#include <string.h>
int main(int argc, char const *argv[]){
FILE* fp=NULL;
fp=fopen("../file.txt","w");
if(fp==NULL){
printf("file open fails\n");
return -1;
}
char buf[128];
while(1){
std::cin>>buf;
if(strcmp(buf,"quit")==0){
break;
}
fputs(buf,fp);
fputc('\n',fp);
}
fclose(fp);
fp=fopen("../file.txt","r");
if(fp==NULL){
printf("file open fails\n");
return -1;
}
char ch[128];
while(fgets(ch,sizeof(ch),fp)){
printf("%s",ch);
}
fclose(fp);
return 0;
}