char r;
in=fopen("a.jsp","r");
out=fopen("b.jsp","w");
while(!feof(in))
{
if((r=getc(in))==" ")
continue;
if((r=getc(in))=="/*")
{while(getc(in)!="*/")
    {r=fgetc(in);}
}    
else 
  fwrite(r,sizeof(char),1,out);
}

解决方案 »

  1.   

    1。用CStdioFile类构造一个对象m_File
    2.打开后每次ReadString到字符串str中
    3.str.TrimLeft(),str.TrimRight();
    4.进行判断。如果str.Find("\/*"),就赋为空
      

  2.   

    给你个VC++函数,调用就可以了
    int CleanAsp(char *FileName)
    {
    CFile MyFile;
    char *pOldFile,*pNewFile;
    int FileLength;
    if (!MyFile.Open(FileName,CFile::modeRead,NULL))
    return -1;
    FileLength=MyFile.GetLength();
    pOldFile=(char *)malloc(FileLength);
    pNewFile=(char *)malloc(FileLength);
    MyFile.Read(pOldFile,FileLength);
    MyFile.Close();
    int OldNum,NewNum;
    NewNum=0;
    for (OldNum=0;OldNum<FileLength;OldNum++)
    {
    if (pOldFile[OldNum]=='/'&&pOldFile[OldNum+1]=='*') //发现/*
    {
    OldNum=OldNum+2;
    while (!(pOldFile[OldNum]=='*'&&pOldFile[OldNum+1]=='/'))
    {
    if (OldNum==(FileLength-2))
    return -1;          //文件不对
    OldNum++;
    }
    OldNum++;
    }
    else if (pOldFile[OldNum]==13&&pOldFile[OldNum+1]==10)    //发现回车
    {
    pNewFile[NewNum]=pOldFile[OldNum];
    NewNum++;
    OldNum++;
    pNewFile[NewNum]=pOldFile[OldNum];
    NewNum++;
    OldNum++;
    while (pOldFile[OldNum]==32)
    {
    OldNum++;
    if (OldNum==FileLength)
    return -1;        //超过文件长
    }
    OldNum--;
            }
    else 
    {
    pNewFile[NewNum]=pOldFile[OldNum];
    NewNum++;
    }
    }
    pNewFile[NewNum]=0;
    if (!MyFile.Open(FileName,CFile::modeWrite|CFile::modeCreate,NULL))
    return -1;
    MyFile.Write(pNewFile,strlen(pNewFile));
    MyFile.Close();
    return 0;
    }
      

  3.   

    给的函数在vc++6.0 WINME下调试通过,只删除每行前面的空格和注释
      

  4.   

    调用方法 int i=CleanAsp("1.asp");
    i=0 success 
      

  5.   

      我在vc里面加入一个编辑框
    但是类型不匹配
    cleanasp的参数是char*。。编辑框的变量类型cstring
    不能相互转换
    怎么办?
    大家救我?????
      

  6.   

     :\aspclean\MyAspClean\MyAspCleanDlg.cpp(189) : error C2664: 'CleanAsp' : cannot convert parameter 1 from 'class CString' to 'char *'
    怎么办?
      

  7.   

    自己定义一个char 型数组,然后用strcpy 将cstring型的考入
    如:
    char aspcontent[10000];
    strcpy (aspcontent,m_editvalue);
    当然,数组的大小可以动态分配为文件的长度
      

  8.   

    Re: 我在vc里面加入一个编辑框...CString str;//your string
    CleanAsp((LPCSTR)str);
    //但是类型不匹配
    //cleanasp的参数是char*。。编辑框的变量类型cstring
    //不能相互转换
    //怎么办?
    //大家救我????? 
      

  9.   

    试试CleanAsp((LPCTSTR)str);不是LPCSTR
      

  10.   

    说过了
    转换一下
    char convert[100];
    strcpy (convert,str);
    CleanAsp(convert);