文件操作
将第一题的源代码保存为abc.c文件,并且要求abc.c文件中有相当数量的注释,包括//和/*……*/两种形式的注释
(1)读取abc文件的内容,将其显示在控制台上,并为每行代码增加一个符号。(10)
(2)使源代码中的//类型的注释内容不显示在控制台中。(10)
(3)使源代码中的/*……*/类型的注释内容不显示在控制台中。(10)
#includeusing namespace std; int main(){ FILE* fp=NULL; fp=fopen("E:\\abc.cpp","r"); if(fp==NULL){ cout<<"打开文件失败"<<endl; return 0; } char buf[255]; int line=1; fgets(buf,255,fp);//这个地方不写一个就会把最后一行读两遍 while(!feof(fp)){ cout<<"line"< ":"; bool flag1=false,flag2=false,flag3=false,flag4=false; int j=0; while(j<strlen(buf)){ if(buf[j]=='*'){ if(flag1&&buf[j+1]=='/'){ flag1=false; j++; } } else if(flag1){ //处理/* */中的内容 什么也不做 } else if(buf[j]=='/'){ if(buf[j+1]=='/'){ //flag1=true; break; } if(buf[j+1]=='*'){ flag1=true; j++; } else{ cout<<buf[j]; } } else cout<<buf[j]; j++; } cout<<endl; fgets(buf,255,fp); // if(feof(fp)) // break; } fclose(fp); return 0; }