文件读写-如何在工程目录下读取.c的源文件

问题描述

如何在工程目录下读取.c的源文件

如何在工程目录下读取.c的源文件 然后分析文件中是否有“/* ”“//”

解决方案

#include

int main()

{

FILE *fp,*fp1; 

char str[99]=""; 

int i=0; 

fp=fopen("test.c","r"); //要打开的源文件 

fp1=fopen("new.c","w"); //另存为 

while(fgets(str,99,fp)!=NULL) 

{ 

    for(i=0;i<99;i++) 

    if(str[i]=='/'&&str[i-1]=='/'){str[i-1]='n';str[i]='';break;} 

    fputs(str,fp1); 

} 

fcloseall(); 

return 0;

}

如果有/* */块注释的话,用这个

#include

#include

int main()

{

FILE *fp,*fp1; 

char str[99]="",str1[99]=""; 

int i,j,no=0; 

fp=fopen("test.c","r"); //要打开的源文件 

fp1=fopen("new.c","w"); //另存为 

while(fgets(str,99,fp)!=NULL) 

{ 

    for(i=0;i<99;i++) 

    { 

        if(str[i]=='/'&&str[i-1]=='/') 

        {str[i-1]='n';str[i]='';} 

        if(str[i]=='*'&&str[i-1]=='/') 

        {str[i-1]='';no=1;fputs(str,fp1);} 

        if(str[i]=='/'&&str[i-1]=='*') 

        { 

            for(j=0;j<98-i;j++){str[j]=str[i+j+1];} 

            str[j]=''; 

            no=0; 

        } 

    } 

    if(no==0)fputs(str,fp1); 

} 

fcloseall(); 

return 0;

}

解决方案二:

找到源文件路径进行读取就行了,,然后在读取时判断是否有这些字符没有就可以了,可以设置一个变量,初值为0,有就置1,没有就0,就可以了,也可以用变量来统计他们出现的次数,如果结果为0,就没有,大于0就有这些字符呗

解决方案三:

.c 源文件,是以文件的形式存在的。工程所在目录知道不?如果知道,直接按文件进行读取就行了。

不知道你的具体问题在哪里!

解决方案四:

http://ask.csdn.net/questions/156984

解决方案五:

这个.C文件应该是以文本的方式保存的,可以直接读取的,分析文件可以用正则等方式。

解决方案六:

  1. 读取一个.C文件,删除该文件中所有的注释语句。然后写入到新的.C文件里。
    要求:
  2. 删除注释语句功能采用动态链接库形式

解决方案七:

#include
int main()
{
FILE *fp;
char buf[100000],ch,flag2;
int i,flag1=0;
if((fp=fopen("带?注痢?释酣?文?件t.c","r"))==NULL)

{
printf("can't open file");
exit(1);
}
buf[0]=fgetc(fp);

i=1;

    while((ch=fgetc(fp))!=EOF)
   {
           buf[i]=ch;
           if(buf[i-1]=='/'&&ch=='*')
          {
                  flag1=1;
                  i--;
          }
          if(flag2=='*'&&ch=='/')
          {
                flag1=0;
                i--;
          }
          if(buf[i-1]=='/'&&ch=='/')
          {
                  flag1=1;         -
                  i--;
          }
          if(flag2=='/'&&ch=='n')
          {
                flag1=0;
                i--;
          }
    flag2=buf[i];
    if(flag1==0)
          i++;
  }

  buf[i]='';
  fclose(fp);
  if((fp=fopen("带?注痢?释酣?文?件t.c","w+"))==NULL)
  {
        printf("can't open file");
        exit(1);
  }
  fputs(buf,fp);
  fclose(fp);
  return 0;

}

时间: 2024-11-07 01:25:59

文件读写-如何在工程目录下读取.c的源文件的相关文章

java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下

问题描述 java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下 PrintWriter out = response.getWriter(); response.setContentType("text/html"); // 图片上传路径 String uploadPath = request.getSession().getServletContext().getRealPath("/") + "upload/i

python安装的模块怎么提取到自己的工程目录下

问题描述 python安装的模块怎么提取到自己的工程目录下 遇到只能提交代码运行的, 没办法安装模块, 有没有办法将本地安装的模块直接提取到工程中调用??? 补充: 不是单文件的, 不清楚模块的文件结构.. 解决方案 Python安装模块 解决方案二: 设置dependency,自己工程做成模块

阿里云虚拟主机:网站文件上传到哪个目录下?什么是根目录?什么是htdocs目录?

注意,请先到阿里云官网领取幸运券,除了价格上有很多优惠外,还可以参与抽奖.详见:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=2a7uv47d&utm_source=2a7uv47d 本文分别介绍WINDOWS操作系统的空间和UNIX(即LINUX)操作系统的空间: 1.什么是根目录?什么是htdocs目录?(注:linux/unix系统请将网页文件上传到htdocs目录下,windows系统

java-我写的servlet将文件上传到WEB-INF目录下,修改了jsp后文件消失了,急求!

问题描述 我写的servlet将文件上传到WEB-INF目录下,修改了jsp后文件消失了,急求! 解决方案 修改JSP文件后,应该是重新生成了.把上传的路径找在其它地方看看

【错误解决】[Maven] cannot be opened because it does not exist错误[文件无法编译到target目录下的解决方法]

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 使用IDEA搭建的Maven项目,在写SpringEL和资源调用时出现了如下错误: 相信我,代码没问题的. Caused by: java.io.FileNotFoundException: class path resource [cn/hncu/p2_2_2SpringEL/test.properties] cannot be opened because it does no

读写Android中assets目录下的文件的方法详解_Android

Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可: 第二种是assets目录下存放的原生资源文件: 因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们.那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/r

读写Android中assets目录下的文件的方法详解

Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可: 第二种是assets目录下存放的原生资源文件: 因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们.那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/r

php小代码----目录下读取子文件或子目录

<?php   class RecDir {       protected $rootPath;     protected $opDirectory;       const RECDIR_MIXED = 'mixed';     const RECDIR_DIR = 'dir';     const RECDIR_FILE = 'file';       public $errorMsg = '';     public $errorNo = 0;       public functio

php按文件生成时间排序列出目录下的所有文件

先看文件列表: 再看代码:  代码如下 复制代码 $dir='ass'; $dp = dir($dir); while ($file = $dp ->read()){ $filename=$dir.'/'.$file; if($file!='.'&&$file!='..'){ $key=filectime($filename)*1000+rand(100,999); $files[strval($key)]=$filename; } } echo '<pre>'; pri