C program


 
Thread Tools Search this Thread
Top Forums Programming C program
# 1  
Old 09-13-2005
C program

Hi,
There is a C program with
"check_log(log_loc,log_name,path)" in it.
It seems that this C program is calling a check_log function but I didn't see any function called check_log in it.
By the way, the C program itself is called 'check_log'

I am just trying to learn a litter bit about C.
Can someone explain it to me?

Thanks!
# 2  
Old 09-13-2005
Look at the top of the source for #include directives that have "quotes".
Those files probably have a reference to the function - unless you see an extern check_log somewhere in the current file. In that case there is a separate hunk of C code that has the function.
# 3  
Old 09-13-2005
check_log in C

Hi,
Thank you for helping me.
I looked and I didn't see anything in the include has it.
Here is the whole program. What do you think about the check_log line?

========================================
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "stddef.h"
#include <sys/types.h>
#include <unistd.h>
#include <math.h>
/*************************************************************************/
/* */
/* */
/* */
/* check_log */
/* */
/* */
/* */
/* */
/*************************************************************************/

check_log(log_loc,log_name,path)
char log_loc[30];
char log_name[30];
char path[80];
{
/*********************************************************/
/* Set up variables to be used */
/*********************************************************/

char buffer[200];

/*********************************************************/
/* Copy the logs from each machine */
/*********************************************************/

memset(buffer,0,200);
sprintf(buffer,"rcp %s%s %s%s",path,log_name,log_loc,log_name);
system(buffer);

/*********************************************************/
/* Check the logs to see if they are readable */
/*********************************************************/

memset(buffer,0,200);
strcpy(buffer,log_loc);
strcat(buffer,log_name);

if((access(buffer, F_OK)) != 0 ) {
printf("Error could not find %s.\n",buffer);
exit(0);
}
return(0);
}


=========================================
# 4  
Old 09-13-2005
"check_log(log_loc,log_name,path)" is the function signature (or interface); it's not calling anything but it is declaring itself and its parameters to the C compiler so that some other module can invoke it. check_log() would be called by some other function external to this body of code.
# 5  
Old 09-13-2005
check_log function

check_log is part of the check_log.c file.
Is it the standard coding in front of all the C programs for other module to invoke?


Thanks for your help!
# 6  
Old 09-13-2005
I'm not sure I understand your question. I'll see if I can simplify this a bit.

check_log.c is simply a source file that contains a function, check_log(). The "entry point" into the function is this line:
Code:
check_log(log_loc,log_name,path)

The check_log function accepts three parameters. check_log's parameter data types are declared as follows:
Code:
char log_loc[30];
char log_name[30];
char path[80];

check_log.c could contain additional functions as necessary such as purge_log(), open_log(), etc. It just so happens that it has one function and the source file name "check_log.c" suggests that you can only perform "check log" functionality.

There is no main() function in check_log.c so the function check_log() would be utilized as a utility function by other programs.

A C source file could look like this:
Code:
#include "stdio.h"
#include "stdlib.h"
...
function_a(a,b,c)
char a;
int b;
long c;
{
    ...
}

function_b()
{
   ...
}

...

main(argc, argv)
int argc;
char *argv[];
{
    function_a;
    function_b;
    ....
}

# 7  
Old 09-13-2005
check_log function

Thanks a lot!
It really helps!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl program get a response before the program quits

I created a program, so a kid can practice there math on it. It dispenses varies math problems and the kid must input an answer. I also want it to grade the work they have done, but I can't find the best place for it to print out the grade. I have: if ( $response =~ m/^/ ) { $user_wants_to_quit... (1 Reply)
Discussion started by: germany1517
1 Replies

2. Homework & Coursework Questions

Calling compiled C program with Perl program

Long story short: I'm working inside of a Unix SSH under a bash shell. I have to code a C program that generates a random number. Then I have to call the compiled C program with a Perl program to run the C program 20 times and put all the generated random #s into a text file, then print that text... (1 Reply)
Discussion started by: jdkirby
1 Replies

3. Programming

Calling c program from another c program

Hi All, Probably this is a repeated question. My knowledge in this is limited and i got confused on all those materials i got in google search. We use #include <> to include a predefined library like stdio.h i saw somewhere that #include "" includes a man made module(another C program). IS... (2 Replies)
Discussion started by: jisha
2 Replies

4. Programming

Python program faster than C++ program.

I wrote a simple program that generates a random word 10,000,000 times. I wrote it in python, then in C++ and compared the two completion times. The python script was faster! Is that normal? Why would the python script be faster? I was under the impression that C++ was faster. What are some of... (2 Replies)
Discussion started by: cbreiny
2 Replies

5. UNIX for Dummies Questions & Answers

Script to open program and send/execute command in program

Hi, i want to write a script that executes a program (exec?) . this program then requires a filename as input. how do i give it this input in the script so the program will be complete run and close by the script. e.g. exec prog.exe program then asks for filename "enter filename:"... (1 Reply)
Discussion started by: tuathan
1 Replies

6. Programming

A program to trace execution of another program

Hi, I wanted to know if i can write a program using switches and signals, etc to trace execution of other unix program which calls c program internally. If yes how? If not with signals and switches then are there any other methods apart from debugging with gdb/dbx. (3 Replies)
Discussion started by: jiten_hegde
3 Replies

7. UNIX for Dummies Questions & Answers

How to write to stdin of another program (program A -> [stdin]program B)

Hi, Program A: uses pipe() I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using: * child -> dup2(fd, STDOUT_FILENO); -> execl("/path/PROGRAM B", "PROGRAM B", NULL); * parent -> char line; -> read(fd, line, 100); Question: ---------... (3 Replies)
Discussion started by: vvaidyan
3 Replies

8. Programming

How to write to stdin of another program (program A -> [stdin]program B)

Hi, Program A: uses pipe() I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using: * child -> dup2(fd, STDOUT_FILENO); -> execl("/path/PROGRAM B", "PROGRAM B", NULL); * parent -> char line; -> read(fd, line, 100); Question: ---------... (1 Reply)
Discussion started by: vvaidyan
1 Replies

9. Programming

executing a program within a program

Read the title: how do i do it? (4 Replies)
Discussion started by: Gekko
4 Replies

10. Programming

Please need help with C program!

My program only ouputs the correct magic square sum totals for the number 15.If I enter any odd number smaller than 15 my sum totals are incorrect. I have define "size" to 15. How or what do I change so that my program will output the magic square results for the odd numbers 1 through 15 without... (1 Reply)
Discussion started by: JJJ
1 Replies
Login or Register to Ask a Question