Sponsored Content
Top Forums Programming Need help in Unix C programming Post 302411145 by mjumrani on Wednesday 7th of April 2010 07:26:13 PM
Old 04-07-2010
Need help in Unix C programming

hey guys.
im currently trying to make a program in unix (redhat, compiling the .c file using gcc) and i need urgent urgent help.

i need to save objects of structures in a file but they dont seem to be saving properly. ive been on it for a whole day now. dunno why i cant do it.
when i try to read, it reads the first search i give it but after that i start getting garbage

here is the structure(names of variables omitted)

Code:
struct Employee_Details
{       char [20]
        long int 
        float 
        char [20]
        time_t 
}emp,temp;

the rest of the relevant code to add is here,

Code:
recv(sd,&emp,sizeof(emp),0);
fd=open("DB.txt",O_RDWR|O_CREAT,0766);
lseek(fd,0,SEEK_END);
write(fd,&emp,sizeof(emp));
send(sd,"Added",6,0);

here is the code to read the file

Code:
fd=open("DB.txt",O_RDWR|O_CREAT,0766);
recv(sd,&emp,sizeof(emp),0);
lseek(fd,0,SEEK_SET);
while(flag) /* flag=1*/
{       read(fd,&temp,sizeof(temp));
         if(temp.INT_MEMBER==emp.INT_MEMBER)
        {       flag=0;
                 send(sd,&temp,sizeof(temp),0);
                 lseek(fd,-(sizeof(temp)),SEEK_CUR);
                 temp.TimeStamp=time(NULL);
                 write(fd,&temp,sizeof(temp));
        }
}

please help me out

Last edited by pludi; 04-08-2010 at 01:52 AM.. Reason: code tags, please...
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

programming on unix

can someone tell me some programming commands on unix? (2 Replies)
Discussion started by: fretis
2 Replies

2. Programming

c programming or unix programming!?

i would like advice on the usbject of c programming (in the middle of reading a book on C). could i benefit more if i apply that knowledge in the unix format if i were able to, or would that take the point out of learning C, basically I want to stay away from strying too far away from unix and use... (1 Reply)
Discussion started by: moxxx68
1 Replies

3. UNIX for Advanced & Expert Users

unix programming

hi guys, I m from india. I m working as programmer in one of MNC. Since 3 years im working on Microsoft platform on dot net and platforms. but now i decided to shift my future to unix , Linux side. I want to be the part of this open source family. and with this i want to make my future also.... (3 Replies)
Discussion started by: d_swapneel14
3 Replies

4. UNIX for Dummies Questions & Answers

new to unix programming

hi guys, I m from india. I m working as programmer in one of MNC. Since 3 years im working on Microsoft platform on dot net and platforms. but now i decided to shift my future to unix , Linux side. I want to be the part of this open source family. and with this i want to make my future also.... (6 Replies)
Discussion started by: d_swapneel14
6 Replies

5. Shell Programming and Scripting

Unix Systems Programming Vs Unix Programming

Several months ago I found a link that explained the difference between how a Unix Systems Admin would do scripting compared to what a Unix Programmer would do. It showed a basic script and then show several iterations that explained how the Systems Admin would change it to make it better. I was... (0 Replies)
Discussion started by: BCarlson
0 Replies

6. UNIX for Dummies Questions & Answers

Carreer:Networking Programming in Unix (C programming Language)

Hello, I am trying to learn Networking Programming in C in unix enviorment. I want to know how good it is to become a network programmer. i am crazy about Network programming but i also want to opt for the best carreer options. Anybody experienced Network Programmer, please tell me is my... (5 Replies)
Discussion started by: vibhory2j
5 Replies

7. UNIX for Dummies Questions & Answers

C Programming in Unix

I asked this over on the "High Level Programming Section" but there must be a secret handshake or something that I am missing.....anyway....if a person wanted to start some C programming in UNIX what would be the best compiler to start with ?? I am fairly familiar with visual studio and have done... (2 Replies)
Discussion started by: zapper222
2 Replies

8. Shell Programming and Scripting

Unix programming help

hey guys im trying to create a batch file that makes directories i have this code atm #!/bin/sh echo "Please enter file name:" read Filename echo "enter number of files to be created " read created for (( i = 1; i < &created; 1++ )) do mkdir $Filename$i done assume i enter... (7 Replies)
Discussion started by: josh111
7 Replies

9. UNIX for Dummies Questions & Answers

How does unix system administration, unix programming, unix network programming differ?

How does unix system administration, unix programming, unix network programming differ? Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies
insq(9F)						   Kernel Functions for Drivers 						  insq(9F)

NAME
insq - insert a message into a queue SYNOPSIS
#include <sys/stream.h> int insq(queue_t *q, mblk_t *emp, mblk_t *nmp); INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI). PARAMETERS
q Pointer to the queue containing message emp. emp Enqueued message before which the new message is to be inserted. mblk_t is an instance of the msgb(9S) structure. nmp Message to be inserted. DESCRIPTION
insq() inserts a message into a queue. The message to be inserted, nmp, is placed in q immediately before the message emp. If emp is NULL, the new message is placed at the end of the queue. The queue class of the new message is ignored. All flow control parameters are updated. The service procedure is enabled unless QNOENB is set. RETURN VALUES
insq() returns 1 on success, and 0 on failure. CONTEXT
insq() can be called from user or interrupt context. EXAMPLES
This routine illustrates the steps a transport provider may take to place expedited data ahead of normal data on a queue (assume all M_DATA messages are converted into M_PROTO T_DATA_REQ messages). Normal T_DATA_REQ messages are just placed on the end of the queue (line 16). However, expedited T_EXDATA_REQ messages are inserted before any normal messages already on the queue (line 25). If there are no normal messages on the queue, bp will be NULL and we fall out of the for loop (line 21). insq acts like putq(9F) in this case. 1 #include 2 #include 3 4 static int 5 xxxwput(queue_t *q, mblk_t *mp) 6 { 7 union T_primitives *tp; 8 mblk_t *bp; 9 union T_primitives *ntp; 10 11 switch (mp->b_datap->db_type) { 12 case M_PROTO: 13 tp = (union T_primitives *)mp->b_rptr; 14 switch (tp->type) { 15 case T_DATA_REQ: 16 putq(q, mp); 17 break; 18 19 case T_EXDATA_REQ: 20 /* Insert code here to protect queue and message block */ 21 for (bp = q->q_first; bp; bp = bp->b_next) { 22 if (bp->b_datap->db_type == M_PROTO) { 23 ntp = (union T_primitives *)bp->b_rptr; 24 if (ntp->type != T_EXDATA_REQ) 25 break; 26 } 27 } 28 (void)insq(q, bp, mp); 29 /* End of region that must be protected */ 30 break; . . . 31 } 32 } 33 } When using insq(), you must ensure that the queue and the message block is not modified by another thread at the same time. You can achieve this either by using STREAMS functions or by implementing your own locking. SEE ALSO
putq(9F), rmvq(9F), msgb(9S) Writing Device Drivers STREAMS Programming Guide WARNINGS
If emp is non-NULL, it must point to a message on q or a system panic could result. SunOS 5.10 9 Jul 2001 insq(9F)
All times are GMT -4. The time now is 07:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy