Using system function in C


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using system function in C
# 1  
Old 10-28-2010
Using system function in C

Hi Guys ,

I want to use system function in C to do the following work.

cp <file1> <file2> and then ><file1>
e,g cp \var\log\cpm_cpmd_1.log.1 \var\log\cpm_cpmd_1.log.2 and then
>\var\log\cpm_cpmd_1.log.1

1. g_config_info.cpmm_config.cpm_log_path=\var\log\
2. p_g_log_limit_info[thread_id]->file_name= cpm_cpmd_1.log

system("cp (g_config_info.cpmm_config.cpm_log_path)+ (p_g_log_limit_info[thread_id]->file_name)+'.'+'1' (g_config_info.cpmm_config.cpm_log_path)+(p_g_log_limit_info[thread_id]->file_name)+'.'+'2'");


I am doing like this but it is not working . It seems the command being executed is
cp \var\log\cpm_cpmd_1.log.1\var\log\cpm_cpmd_1.log.2

CAn anybody help .

regards
Aki
# 2  
Old 10-28-2010
Okay. You can't insert variables inside strings like that because C is not a shell language. You have to create the string first, then call system with it. It's probably simplest to use sprintf.

Code:
char buf[1024];
// You can stick together "strings" "like" "this" to get "stringslikethis" which lets you 
// seperate one string across lines, like I'm doing with the two echo commands.
sprintf(buf, "echo '%s' ;"
             "echo '%s'",
        "string 1 which must not contain quote characters",
        "string 2 which must not contain quote characters");

fprintf(stderr, "calling system('%s')\n", buf);
system(buf);


Last edited by Corona688; 10-28-2010 at 01:08 PM..
# 3  
Old 10-29-2010
Thanks for the information . i have one more query , i am running this above function quite frequently ,Is it possible to run this in background . So that the command does not apper in bash shell

regadrs
Akhilesh
# 4  
Old 10-30-2010
When you're using 'system', you're running a shell. You can put redirection and background in the string just as in a shell.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

System function in awk

Hello Friends, I have written a script like below, I aimed to move some CDR files (call data record) whose the last field is "1" (NF=1 ) from a spesific directory to a new directory Field Seperator is pipe. If the directory does not exitst i should create it. I will give the script two... (5 Replies)
Discussion started by: EAGL€
5 Replies

2. Shell Programming and Scripting

Help using SYSTEM function in NAWK

I am scanning a file (line by line) for format errors. A line could have multiple errors. Each field in the line is evaluated for errors and sent, along w/ any error messages, to a temporary file. Finally, if any errors were detected, this temporary file is then appended to the errorFile. The... (4 Replies)
Discussion started by: aschera
4 Replies

3. Shell Programming and Scripting

How to use system function in awk

Could any one tell me how to use the system function in awk? I want to use it to print the system date. I have been trying like this : yes |head -1|awk '{ system("date")}' When I execute the above it always returns back to the prompt. Your help would be much appreciated. regards,... (3 Replies)
Discussion started by: srikanth_ksv
3 Replies

4. Programming

Question about the system() function in C

Hello all ! Could someone throw some light on whether there's a limit to the number of characters contained in the command string that is passed to the system() call in C. Is it OS dependent? If yes, what are the limits for each? Thanks. (4 Replies)
Discussion started by: vsanjit
4 Replies

5. UNIX for Dummies Questions & Answers

How to use ${?} and system() function???

Hi All, I am in a process to send the mail automatically with an attachment to bulk users. I have used 'Mailx' and 'Unencode' commands for the same and those worked fine. Please find below the same. X " ( cat /sastemp/body.txt; uuencode test.xls test.xls ) | mailx -s 'testing'... (1 Reply)
Discussion started by: manas6
1 Replies

6. Programming

alternatives of exec() system function

Hi , Can anybody name any System Function in C/C++ for Sun-Solaris (unix) platform which can serve the alternative of execl() system function. Actually I am calling a fork-execl() pair and then making an interprocess communication between these two(parent-child process). But the problem is... (3 Replies)
Discussion started by: Raj Kumar Arora
3 Replies

7. UNIX for Dummies Questions & Answers

System() function in <stdlib.h>

Hi, guys ,, I want to know the implementation of System() function in C Unix, and its prototype definition: int system(const char * string) in the header file <stdlib.h> ??! please help me ! because that is part of my project !! (0 Replies)
Discussion started by: someone33
0 Replies

8. Solaris

System() and <stdlib.h> function , Pleeeeeeez Help !

Hi, guys ,, I want to know the implementation of System() function in C Unix, and its prototype definition: int system(const char * string) in the header file <stdlib.h> ??! please help me ! because that is part of my project !! (0 Replies)
Discussion started by: someone33
0 Replies

9. Programming

system function in c

Hai Friends I have used the function system() to execute a command. My requirement is that i have to list the files in a directory applying some wildcard paterns. For example if i want to list *.c files i go with the function system("ls *.c"); and the output gets printed on the monitor.... (1 Reply)
Discussion started by: collins
1 Replies

10. Programming

system() function call...

Hi, Though I should check this myself.. but I don't have a cc compiler at this time.. :( When I compile a c program containing say system(myshell.sh).. do the executable require that the actual script myshell.sh to be present whenever it executes? I guess it needs.. otherwise I can just... (1 Reply)
Discussion started by: Vishnu
1 Replies
Login or Register to Ask a Question