Hi everybody,

I have a text file which contains a sequence of characters terminated by 
newline.
I need to extract a sequence of character from the file until i encounter 
underscore character.
The moment I encounter underscore character, I need to move to the next line.
This process is to be repeated till I reach the end of file.

The code that I have been trying is given below.....
The problem with this code is that the loop doesn't terminate.

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

int main()
{
 FILE *fp1, *fp2;
 char ch;
 clrscr();
 fp1=fopen("11.txt","r");  //the text file from which I have to extract the 
string.
 if(fp1==NULL)
 {
  printf("\n File not found");
  exit(0);
 }
 fp2=fopen("12.txt", "w");  // the file into which I have to write the 
extracted string

 while(!feof(fp1))
 {
  ch=fgetc(fp1);   //the loop which extracts the character till _ is reached
  if(ch!='_')
  {
   fputc(ch, fp2);
  }
  else if(ch!='\n')  //the loop which runs till new line is reached, this loop 
                           doesn't terminate.   
  {
   ch=fgetc(fp1);
  }
 }
 printf("\n Successfully completed...");
 fclose(fp1);
 //fclose(fp2);
 getch();
 return 0;
}


Please suggest an improvement on this piece of code or debug the logical error 
in the code.

The sample of file is as shown......
pus||hkar_sjs
pu#|shkar2001_sjs

I need only the sequence of character upto _..
Rest of the characters are not be copied into the other file.



                
---------------------------------
Win a BlackBerry device from O2 with Yahoo!. Enter now.

[Non-text portions of this message have been removed]

Reply via email to