removing comments in c and c++ program

rohit83.ken 0 Tallied Votes 2K Views Share

hello frnd this a c program that removes c c++ style comments

//program to print a file by removing comments
/*program*/
#include<stdio.h>
void main(int argc , char *argv[])
{
	FILE *fp,*fp1;
	char ch;
 	clrscr();
        fp=fopen(argv[1],"r");
	fp1=fopen(argv[2],"w");                                     
	while(1)
	{
		ch=fgetc(fp);  /*fgetc*/
		if(ch==EOF)    //eof
		break;
		else
		{
			if(ch=='/')
			{
				ch=fgetc(fp);
				if(ch=='/')
				{
					while(1)
					{
						ch=fgetc(fp);
						if(ch=='\n')
						goto label;
					}

				}
				if(ch=='*')
				{
					while(1)
					{
						ch=fgetc(fp);
						if(ch=='*')
						{
							ch=fgetc(fp);
							if(ch=='/')
							{
								while(1)
								{
									ch=fgetc(fp);
									goto label;
								}
							}
							else printf("*");
						}
					}
				}
				else printf("/");
			}
		}
		label:fputc(ch,fp1);
	}
	fclose(fp); /*closes the file*/
	fclose(fp1);
}
jain_arhant 0 Newbie Poster

is it possible to remove the goto statement in the code ?

niki01 0 Newbie Poster

Hi I'm writing a Program in C++, I believe the program is well written because the program was without error or warning. My problem is the program will not execute. I don't why it will not and don't know what to do. Please help me out.

hobbes78 0 Newbie Poster

Humm... This will fail on a program as simple as:

#include <iostream>

use namespace std;

int main(int argc, char *argv[])
{
	cout << "http://www.google.com/" << endl;
	return 0;
}
thungmail 0 Newbie Poster

hi
why you declare:
char =ch;
and then
ch=fgetc(fp);
I dont understand because fgetc(fp)'s return type is integer, but ch is char.
Tuan

Swathyy 0 Newbie Poster

Try this code itself as the input file. It removes slashes at lines 18,21 etc,... A small error there.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.