File reading in C


 
Thread Tools Search this Thread
Top Forums Programming File reading in C
# 1  
Old 03-17-2010
Java File reading in C

Hello guys,

I'm finding it really difficult to read from file and display the text on the text entry widget.
This is what i'm suppose to do.Kindly help me out.
Code:
Message ID@9633 
Message Name@CISM_CISM_RECV_REVERSAL_ORDER_ID 
[ 
 
Maximum Length@250*Minimum Length@123*ACK@Nreq*Priority@6*Time out@Refer Note 1*Periodic/Not Periodic@Not periodic*FLOW@Bottom to Top*Assurance of Transmission@Req*Type of Messages@H2CIU 
]

This is my text.I should read the text file and compare using message id or message name. if the id or name matches with what i ask in the combo box,
I should read the corresponding variables within [ and ] and store them in different variables.I have used @ and * as the delimiters.As each variable value(like maximum length,minimum length)have to be stored in different variables and displayed in different text entry widgets.Kindly help me out in this regard.Smilie

Last edited by jim mcnamara; 03-17-2010 at 09:39 AM.. Reason: code tags, please...
# 2  
Old 03-17-2010
What code have you written so far?
# 3  
Old 03-18-2010
Hello

I have written a code which is reading the entire file. I used strtok() to check for the delimiters.But not serving the purpose.Smilie

---------- Post updated Mar 18th, 2010 at 05:40 AM ---------- Previous update was Mar 17th, 2010 at 11:26 PM ----------

Code:
 
#include <stdio.h>
#include <string.h>
 
int main(int argc, char *argv[])
{
    FILE *fp;
        int x = 1,i=0;
        //char str[]="this:is:a:test:of:string:tokenizing";
        char *str1;
    char ch;
    char str[1000];
     
     fp = fopen("msg.txt","r");
    while(1) 
    {
         ch = fgetc ( fp ) ;
        str[i]=ch;
        i++;
         if( ch == EOF )
           break ;
        // printf ( "%c", str ) ; 
     }
        /* print what we have so far */
        //printf("String: %s\n", str);
 
        /* extract first string from string sequence */
        str1 = strtok(str, ",");
 
        /* print first string after tokenized */
        printf("%i: %s\n", x++, str1);

    
 
        /* loop until finishied */
        while (1)
        {
                /* extract string from string sequence */
                str1 = strtok(NULL, ",");
 
                /* check if there is nothing else to extract */
                if (str1 == NULL)
                {
                        printf("Tokenizing complete\n");
                        exit(0);
                }
 
                /* print string after tokenized */
                printf("%i: %s\n", x, str1);
                x++;
        }
 
        return 0;
 
}

And this is my output
Code:
1: 9633
2: CISM_CISM_RECV_REVERSAL_ORDER_ID
3: 250
4: 123
5: Nreq
6: 6
7: Refer Note 1
8: Not periodic
9: Bottom to Top
10: Req
11: HOST_CIU

i should store each value in a different variable. How do i do it.
# 4  
Old 03-18-2010
You want "@" to be the delimiter. Nothing else.
When you get "Message Id" the second string is your value.
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* non-destructive strtok() */

char **
split( char *result[], char *src, const char *delim)
{
          static char working[1024]={0x0};
          int i=0;
          char *p=NULL;

          result[0]=NULL;
          strcpy(working, src);
          for(i=0, p=strtok(working, delim); p!=NULL; p=strtok(NULL, delim), i++ )
          {
                 result[i]=p;
                 result[i+1]=NULL;
          }
          return result;
}

int main()
{
	 char *p[40]={NULL};  /* allow for 40 @ chars in a line */
	 char tmp[256]={0x0};
	 int i=0;
	 FILE *in=fopen("somefile", "r");
	 
	 while( fgets(tmp, sizeof(tmp), in)!=NULL)
	 {
	 		split(p, tmp, "@");
	 		for(i=0; p[i]!=NULL; i++)
	 		{
	 			if(!strcmp(p[i], "Message Id")  )
	 		   	printf("my value==:%s\n", p[i+1]);
	 		}
	 			   
	 }
	 fclose(in);
	 
   return 0;
}

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh Script, Reading A File, Grepping A File Contents In Another File

So I'm stumped. First... APOLOGIES... my work is offline in an office that has zero internet connectivity, as required by our client. If need be, I could print out my script attempts and retype them here. But on the off chance... here goes. I have a text file (file_source) of terms, each line... (3 Replies)
Discussion started by: Brusimm
3 Replies

2. UNIX for Dummies Questions & Answers

Reading Xml file and print the values into the text file in columnwise?

hi guys, i want help... Reding XML file and print the values into the text file using linux shell script file as per below xml file <sequence> <Filename>aldorzum.doc</Filename> <DivisionCode>US</DivisionCode> <ContentType>Template</ContentType> <ProductCode>VIMZIM</ProductCode> </sequence>... (4 Replies)
Discussion started by: sravanreddy
4 Replies

3. UNIX for Dummies Questions & Answers

Reading XML file and print the values in the text file using Linux shell script

hi guys, i want help... Reding XML file and print the values into the text file using linux shell script file as per below xml file <sequence> <Filename>aldorzum.doc</Filename> <DivisionCode>US</DivisionCode> <ContentType>Template</ContentType> <ProductCode>VIMZIM</ProductCode> </sequence>... (1 Reply)
Discussion started by: sravanreddy
1 Replies

4. Shell Programming and Scripting

Reading UNIX commands from file and redirecting output to a file

Hi All I have written the following script: #!/bin/ksh while read cmdline do echo `$cmdline` pid="$cmdline" done<commands.txt =========== commands.txt contains: ps -ef | grep abc | grep xyz |awk '{print $2}; My objective is to store the o/p of the command in a variable and do... (8 Replies)
Discussion started by: rahulparo
8 Replies

5. Shell Programming and Scripting

fatal: cannot open file `TNAME' for reading (No such file or directory)

Hi, I am running this command through a shell script and getting the error mentioned in the subject line: testing.awk -f x.txt TNAME My testing.awk file contains something like ++++++++++++++++++ #!/usr/bin/awk -f BEGIN{ TAB_NAME="INSERT_ONE_" ARGV ; } if ( $1=="JAM_ONE" &&... (1 Reply)
Discussion started by: kunwar
1 Replies

6. Shell Programming and Scripting

Searching for Log / Bad file and Reading and writing to a flat file

Need to develop a unix shell script for the below requirement and I need your assistance: 1) search for file.log and file.bad file in a directory and read them 2) pull out "Load_Start_Time", "Data_File_Name", "Error_Type" from log file 4) concatinate each row from bad file as... (3 Replies)
Discussion started by: mlpathir
3 Replies

7. UNIX for Dummies Questions & Answers

Reading from a file(passing the file as input parameter)

hi I have a shell script say primary.sh . There is a file called params my scenario is primary.sh should read all the values and echo it for example i should pass like $primary.sh params output would be Abc ... (2 Replies)
Discussion started by: ssuresh1999
2 Replies

8. UNIX for Advanced & Expert Users

Reading a file and sending mail based on content of the file

Hi Gurus, I am having an requirement. i have to read a list file which contains file names and send mail to different users based on the files in the list file. eg. if file a.txt exists then send a mail to a@a.com simillary for b.txt,c.txt etc. Thanks for your help, Nimu (6 Replies)
Discussion started by: nimu1979
6 Replies

9. Shell Programming and Scripting

Reading file names from a file and executing the relative file from shell script

Hi How can i dynamically read files names from a list file and execute them from a single shell script. Please help its urgent Thanks in Advance (4 Replies)
Discussion started by: anushilrai
4 Replies
Login or Register to Ask a Question