This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/59598] very simple code using file open for read
- From: "Denis dot V dot Kolesnik at safe-mail dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 Jan 2014 17:44:47 +0000
- Subject: [Bug c++/59598] very simple code using file open for read
- Auto-submitted: auto-generated
- References: <bug-59598-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59598
Denis Kolesnik <Denis.V.Kolesnik@safe-mail.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|INVALID |---
--- Comment #34 from Denis Kolesnik <Denis.V.Kolesnik@safe-mail.net> ---
// a small text file filter.c //
#include <stdio.h>
main(int argc, char* argv[])
{
char c, previous_c;
int word_begin_position[3000];
//int spec_symbol[7]={0xAE,0xBB,0xAB,0xA9,0x22,0x2F,0x27};
//int eof_symbol[2]={0x0D,0x0A};
int search_result;
int this_is_the_same_word;
int words_count;
int word_number;
int search_result_A_count;
int search_result_space;
FILE *stream,*stream2;
int i, j, characters_count, character_number;
int other_character_printed;
// double characters
int A_count, E_count;
characters_count=0;
stream = fopen (argv[1],"r");
while ((c = fgetc(stream)) != EOF)
{
characters_count++;
}
fclose(stream);
//printf("total characters are %i\n", characters_count);
character_number=1;
words_count=0;
previous_c=0;
stream = fopen (argv[1],"r");
while ((c = fgetc(stream)) != EOF)
{
if(((c!=0x20) && (character_number==1)) || ((previous_c==0x20) &&
(c!=0x20) && (c!=0x0A)) || ((previous_c!=0x20) && (c==0x0D)) || ((c!=0x20) &&
(c!=0x0D) && (c!=0x0A) && (previous_c==0x0A)) || ((previous_c!=0x20) &&
(previous_c!=0x0A) && (character_number==characters_count) && (c==0x20)))
// 1. ((c!=0x20) && (character_number==1))
// 2. ((previous_c==0x20) && (c!=0x20) && (c!=0x0A))
// 3. ((previous_c!=0x20) && (c==0x0D))
// !((previous_c!=0x0D) && (c==0x0A))
// 4. ((c!=0x20) && (c!=0x0D) && (c!=0x0A) && (previous_c==0x0A))
// 5. ((previous_c!=0x20) && (previous_c!=0x0A) &&
(character_number==characters_count) && (c==0x20))
this_is_the_same_word=0;
else
this_is_the_same_word=1;
if(this_is_the_same_word==0)
{
words_count++;
word_begin_position[words_count]=character_number;
//printf(" the begin char is .....
%i",word_begin_position[words_count]);
}
//if(character_number==characters_count)
// printf("the last character");
/*
printf(" the number of words is %i\n", words_count);
printf(" the current character is ..... %c\n", c);
if(c==0x0D)
printf(" the current character is ..... 0x0D\n");
if(c==0x0A)
printf(" the current character is ..... 0x0A\n");
*/
previous_c=c;
character_number++;
}
fclose(stream);
word_number=1;
character_number=1;
A_count=1;
E_count=1;
stream = fopen (argv[1],"r");
//stream2 = fopen (argv[2],"w");
while ((c = fgetc(stream)) != EOF)
{
other_character_printed=0;
if(words_count>=2)
if(word_number<words_count-1)
if((character_number >= word_begin_position[word_number]) &&
(character_number < word_begin_position[word_number+1]))
{
A_count=1;
E_count=1;
word_number++;
}
//printf("\n the word begin position
%i\n",word_begin_position[word_number]);
//printf("\n1 char is %i\n", character_number);
//printf("\nthe words count is %i\n", words_count);
// A
if((other_character_printed==0) && ((c=='a') || (c=='Ð') || (c=='A') ||
(c=='Ð')) )
if(A_count==1)
{
printf("A1");
A_count=2;
other_character_printed=1;
}
else
{
printf("A2");
A_count=1;
other_character_printed=1;
}
else
if((other_character_printed==0) && ((c!='Ð') && (c!='e') && (c!='Ð') &&
(c!='E')))
{
printf("%c", c);
other_character_printed=1;
}
// E
if((other_character_printed==0) && ((c=='e') || (c=='Ð') || (c=='E') ||
(c=='Ð')) )
if(E_count==1)
{
printf("E1");
E_count=2;
other_character_printed=1;
}
else
{
printf("E2");
E_count=1;
other_character_printed=1;
}
else
if((other_character_printed==0) && ((c!='a') && (c!='Ð') && (c!='Ð') &&
(c!='A')))
{
printf("%c", c);
other_character_printed=1;
}
//if(c=='0')
//{
// printf("%c", c);
// other_character_printed=1;
//}
character_number++;
}
fclose(stream);
//printf(" the number of words is %i", words_count);
return 0;
}