您的位置:首页 > 理论基础 > 数据结构算法

【数据结构与算法分析】1.4 用printOut函数输出任意实数

2015-11-03 19:08 609 查看
问题描述:

编写程序打印出include<>里包含的文件的内容

解决思路:

主要是要拿到include<>里的文件名,另外可以抽一个函数出来实现递归的打印,即include里包含include等。

算法实现:

#include<stdio.h>
#include<stdlib.h>
int main() {
FILE *file,*innerFile;
int j=0;
char ch;
int flag = false;
char  filename[20] = {0};
char  *temp="include";
char  innerFilename[20] = {0};
gets(filename);
if((file=fopen(filename,"r"))==NULL)
printf("File open failed");
else{
while((ch=fgetc(file))!=EOF) {
if(flag&&ch!='>')//判断是否拿到include后面的文件名
innerFilename[j++] = ch;
if(ch =='>' && j!=0){//拿到整个文件名
if((innerFile=fopen(innerFilename,"r") )!=NULL){
int tempChar;
while((tempChar=fgetc(innerFile))!=EOF){
putchar(tempChar);
}
flag = false;//多个include<>
j = 0;
}
}
int i = 0;
if(!flag){
while (ch == temp[i] && (ch=fgetc(file))!=EOF){
i++;//判断是否等于include
}
}
if(i == 7 && ch == '<')
flag =true;
}
}
system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: