标签:c++注释
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
char *get_str(char *src,char *dst)
{
char *start=src;
static int count=0;
int i=0;
while ( *start)
{
if (*start==‘/‘&&*(start+1)==‘/‘&&count%2==0)
{
count++;
break;
}
else if(*start==‘*‘&&*(start+1)==‘/‘)
{
start+=2;
count++;
break;
}
*(dst++)=*(start++);
}
*dst=0;
return start;
}
//注释与代码混合时的例子
void fun2()
{
char src[]="//999*/666//999*/534643666//";
char dst[10];
char *arr=src;
while(*arr)
{
arr=get_str(arr,dst);
printf("%s\n",dst);
}
}
//注释多行时的处理。
int main()
{
FILE *fr=fopen("in.txt","rb");
FILE *fw=fopen("out.txt","wb");
//assert(fr!=NULL);
//assert(fw!=NULL);
char start[50];
char arr[100]="//";
char *str=NULL;
int count=0;
int n=0;
while( fgets(start,100,fr)!=NULL)
{
str=start;
while(*str)
{
if(*str==‘/‘&&*(str+1)==‘*‘)
{
*(str+1)=‘/‘;
count=1;
}
if(*str==‘*‘&&*(str+1)==‘/‘&&count==1)
{
*str=0;
strcat(arr,start);
fputs(arr,fw);
count=0;
break;
}
str++;
}
n++;
if(count==1&&n==1)
{
fputs(start,fw);
}
else if(count==1&&n!=1)
{
strcat(arr,start);
fputs(arr,fw);
arr[2]=0;
}
}
fclose(fr);
fclose(fw);
return 0;
}
//项目没有合并好,对于最重要的2种情况,能分别处理,而合并互相有影响
标签:c++注释
原文地址:http://sts609.blog.51cto.com/11227442/1749389