I am not able to use variables in system command in a C program


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers I am not able to use variables in system command in a C program
# 1  
Old 01-24-2013
Linux I am not able to use variables in system command in a C program

this method is not working.I am having a problem to use variables in system command. i cannot use the variables in system command.
this how i was did
Code:
system("whereis command");

this method works very fine. but, i want use the commands as variable.
that means i want only pass the variables.
like this
Code:
scanf("%s",variable);
system("whereis variable");

but,

Last edited by Scott; 01-24-2013 at 07:08 AM.. Reason: Code tags
# 2  
Old 01-24-2013
You should allocate a char variable, fill it with the string constant "whereis " (e.g. sprintf) and the contents of your user input variable (e.g. strcpy), and supply that to the system call.
This User Gave Thanks to RudiC For This Post:
# 3  
Old 01-24-2013
i have already allocate the variable for that my code is
Code:
char cmd[20];
printf("enter you string);
scanf("%s",cmd); 
system("whereis cmd");


this cmd is not working for example.
if give the input as "ls" to cmd variable .
but, that variable is not working in the system command this is my problem

thanks in advance

Last edited by Scott; 01-24-2013 at 07:11 AM.. Reason: Code tags
# 4  
Old 01-24-2013
Pls use code tags as advised.
You did not read what I wrote. Put everything into a new variable and supply that (I think by reference) to the system call.
This User Gave Thanks to RudiC For This Post:
# 5  
Old 01-24-2013
try this.. not tested
Code:
 
 
char str[10];
char cmd[20];
printf("Enter the string : ");
scanf("%s",str);
sprintf(cmd,"whereis %s",str);
system(cmd);

This User Gave Thanks to itkamaraj For This Post:
# 6  
Old 01-24-2013
thanks a lot Mr.Kamaraj great job..
# 7  
Old 01-24-2013
You should not use scanf to read lines, scanf has a list of problems that are too long to get into. (sscanf is safer.)

Code:
char buf[512];

fgets(buf, 512, stdin); // Read a line
if(strchr(buf, '\n')) (*strchr(buf, '\n'))=0; // Get rid of newline

// You now have a string in 'buf'.

In general, if you want to use scanf, you should use fgets to get a whole line, then use sscanf to scan the string rather than the file to avoid buffering problems.
This User Gave Thanks to Corona688 For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using env variables to run a program

Hi there, I need urgent help with a small program that is run via shell script. Unfortunately I only understand the bare basics of shell scripting and can't figure out how to do this. We have a program that tests the connection between 3 servers. I have a script that lets the program run on... (15 Replies)
Discussion started by: Pherdinand
15 Replies

2. UNIX Desktop Questions & Answers

Knowing the size and location of variables in a C program

So I need some help with this. Pardon me if I'm posting in the wrong forum, after some googling for my answer and finding nothing I found this forum. It seemed appropriate for what I was seeking. I just didnt find a forum that concerned the use of GDB. I'm learning to use the C language and GDB.... (2 Replies)
Discussion started by: Cambria
2 Replies

3. UNIX for Dummies Questions & Answers

Small Program with variables

Hello Geniuses of the unix world. please help, stupid chemist. I have the following script that I need to create a file. Doesnt make sense unless i explain this way: I need to create a file called summary.in I would like all these lines to be inserted however in the command line I would like the... (1 Reply)
Discussion started by: gingburg
1 Replies

4. 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

5. Shell Programming and Scripting

problem accessing Multiple Variables from C Program to a Shell script

program name--test #!/bin/bash output1=`/home/user/a.c` output2=`/home/user/a.c` k=`$output1 + 1` m=`$output2 + 1` echo $k echo $m --------------------------------------------------------------------------- prgram name--a.c #include<stdio.h> int main() (1 Reply)
Discussion started by: sameworld1980
1 Replies

6. Shell Programming and Scripting

How to access the C program variables in shell script

hi I wanted to access the C program variables in shell script. This script is called from the same C program. What are the ways in which i can access variables thankx (3 Replies)
Discussion started by: bhakti
3 Replies

7. Programming

using system cp command in C program

Hi i used the following code to copy a directory from a source location to dest. argv contains the source loc i/p by the user. strcpy(source,argv); strcpy(dest,"/home/MainServer/Job_dir/"); system("cp -r $source $dest"); it complies properly but during execution of the program it... (2 Replies)
Discussion started by: mridula
2 Replies

8. Shell Programming and Scripting

Passing shell variables to awk program..

Hello, Can we pass shell variables like $PATH etc. to a awk program part for example, awk ' { fieldValue=$PATH .... }' file (1 Reply)
Discussion started by: Vishnu
1 Replies

9. UNIX for Dummies Questions & Answers

Dummie: How do I get variables mid program

I'm writing a simple program in unix and was wondering how mid switch I can run a program and get someone to enter variables for it i.e.: #!/bin/csh -f echo "If you wish to do v press v" echo "If you wish to compile press c" echo "If you wish to add an entry press a" echo "If you wish to... (1 Reply)
Discussion started by: RichardB
1 Replies

10. UNIX for Advanced & Expert Users

Dump program variables

Hi, Wish if could provide some clues. How do I dump all the C program variables(global) into say a file with their names and the values. So that when I restart the application again I could use this same file for reinitializing.Is this possible? Thanks, Reji (1 Reply)
Discussion started by: rejise
1 Replies
Login or Register to Ask a Question