Sponsored Content
Top Forums Programming How to pass C array as input to Shell script Post 302312086 by Corona688 on Thursday 30th of April 2009 10:25:50 AM
Old 04-30-2009
Code tags for code please. [code] stuff [/code] without the extra spaces in the tags.

Your array is too big. You specify that it has two elements but give it three initializers. This probably produces a warning.

To do what you want you need to convert it into a string. If it will always just have three initializers it could probably be made simpler but this should work for any size of array.
Code:
#include <stdio.h>
// for execlp()
#include <unistd.h>

int main()
{
  const char *script="echo";
  const char *prefix="";
  int pos=0, n;
  char buf[256];
  int a[3]={1,2,3};

  for(n=0; n<3; n++)
  {
    pos+=snprintf(buf+pos, 256-pos, "%s%d", prefix, a[n]);
  }
  printf("will call %s with %s\n", script, buf);

  // Note that this command never returns unless it fails to run at all.
  execlp(script, script, buf, NULL);
  // If the program is still running, then execlp failed, so return error
  return(1);
}


Last edited by vgersh99; 04-30-2009 at 12:14 PM.. Reason: added
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Pass array variabel to awk from shell

Hi I need to pass an array to Awk script from Shell. Can you please tell how to do it? How to pass this array add_ct_arr to an awk script or access it in awk? i=1 while ; do add_ct_arr=$(echo ${adda_count} | awk -v i=$i -F" " '{print $i;}') echo ${add_ct_arr} ... (1 Reply)
Discussion started by: appsguy616
1 Replies

2. Shell Programming and Scripting

How to pass an array from SHELL to C function

Hi, I have an output generated from a shell script like; 0x41,0xF2,0x59,0xDD,0x86,0xD3,0xEF,0x61,0xF2 How can I pass this value to the C function, as below; int main(int argc, char *argv) { unsigned char hellopdu={above value}; } Regards Elthox (1 Reply)
Discussion started by: elthox
1 Replies

3. Shell Programming and Scripting

Can we pass an array of strings from a Perl Program to a Shell Script?

Hi Folks, The subject is my question: Can we pass an array of strings from a Perl Program to a Shell Script? Please provide some sample code. Thanks ---------- Post updated at 11:52 PM ---------- Previous update was at 11:43 PM ---------- I got it. Its here:... (0 Replies)
Discussion started by: som.nitk
0 Replies

4. UNIX for Dummies Questions & Answers

how to pass input from c program to shell script?

Hello.. I am developing a Graphical User Interface using GTK. As part of our project I need to take inputs from GTK entries and pass those inputs to shell script and use them in shell script. The problem which struck me is only limited number of inputs are getting passed to shell script. For now... (14 Replies)
Discussion started by: kalyanilinux
14 Replies

5. Shell Programming and Scripting

create an array which can store the strings from the user input in shell script

I want to create an array which can store the strings from the user input in shell script . example :- I want to store the 5 fruits name in a single array which the user provides . (1 Reply)
Discussion started by: Pkast
1 Replies

6. Shell Programming and Scripting

How to pass an array to a function in shell script.?

hi, I have a array say SAP_ARRAY="s1.txt" SAP_ARRAY="s2.txt" how can i pass this full array to a function. here is the sample code i am using.. CHECK_NO_FILES() { FARRAY=$1 echo "FARRAY = $FARRAY" echo "FARRAY = $FARRAY" ............... (5 Replies)
Discussion started by: Little
5 Replies

7. Shell Programming and Scripting

Read input from file and pass it to sub shell

i have a scenario where in i have to monitor jobs which run in different servers, The job details(job name, host server, etc) are present in a dat file. I have written a script a script which reads the details from the dat file and calls a local method where the job monitoring logic is present.... (2 Replies)
Discussion started by: abubucker0
2 Replies

8. UNIX for Dummies Questions & Answers

Pass array to shell and print

How do i pass an array from test4.sh to a function in another shell script test5.sh, basically i am sourcing the test5.sh in test4.sh and printing the contents, but not working below are my trial scripts, please help, thank you. #!/bin/bash # /usr/local/dw/archive/test5.sh print_array() {... (5 Replies)
Discussion started by: Ariean
5 Replies

9. Shell Programming and Scripting

Pass C shell array to another C shell script(csh) and shell(sh)

Dear Friends, Please help me on this my script name is send.csh In this i have written the statement like this set args = ( city state country price ) I want to pass this array to another c shell called receiver.csh. and i want to use it in this c shell or how to pass to... (2 Replies)
Discussion started by: SA_Palani
2 Replies

10. Shell Programming and Scripting

How to pass and read an array in ksh shell script function.?

I'm able to read & print an array in varaible called "filelist" I need to pass this array variable to a function called verify() and then read and loop through the passed array inside the function. Unfortunately it does not print the entire array from inside the funstion's loop. #/bin/ksh... (5 Replies)
Discussion started by: mohtashims
5 Replies
thai/thwbrk.h(3)						      libthai							  thai/thwbrk.h(3)

NAME
thai/thwbrk.h - Thai wide-char word segmentation. SYNOPSIS
Functions int th_wbrk (const thwchar_t *s, int pos[], size_t n) Find word break positions in Thai wide-char string. int th_wbrk_line (const thwchar_t *in, thwchar_t *out, size_t n, const thwchar_t *delim) Insert word delimitors in given wide-char string. Detailed Description Thai wide-char word segmentation. Function Documentation int th_wbrk (const thwchar_t *s, intpos[], size_tn) Find word break positions in Thai wide-char string. Parameters: s : the input string to be processed pos : array to keep breaking positions n : size of pos[] Returns: the actual number of breaking positions occurred Finds word break positions in Thai string s and stores at most n breaking positions in pos[], from left to right. int th_wbrk_line (const thwchar_t *in, thwchar_t *out, size_tn, const thwchar_t *delim) Insert word delimitors in given wide-char string. Parameters: in : the input wide-char string to be processed out : the output wide-char buffer n : the size of out (as number of elements) delim : the wide-char word delimitor to insert Returns: the actual size of the processed string (as number of elements) Analyzes the input string and store the string in output buffer with the given word delimitor inserted at every word boundary. Author Generated automatically by Doxygen for libthai from the source code. Version 0.1.14 Tue Jun 17 2014 thai/thwbrk.h(3)
All times are GMT -4. The time now is 02:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy