Sponsored Content
Top Forums Programming Building an argc/argv style structure from a string (char*) Post 302380944 by jim mcnamara on Wednesday 16th of December 2009 05:34:21 PM
Old 12-16-2009
I got it. You really do need a parser. But the shell has one - modern shells that is.
Code:
#include <stdio.h>
#include <string.h>
/* using the default shell parser - no extra code required */
void make_args(char **argv, int *argc, char *string)
{
		char tmp[256]={0x0};
		FILE *cmd=NULL;
		int i=0;
		char *p=NULL;
		
		sprintf(tmp, "set - %s && for i in %c$@%c;\n do\n echo $i\ndone", 
		        string, '"', '"');
		cmd=popen(tmp, "r");
		while (fgets(tmp, sizeof(tmp), cmd)!=NULL)
		{
		    p=strchr(tmp, '\n');
		    if (p!=NULL) *p=0x0;
				strcpy(argv[i++], tmp);
		}
		*argc=i;
}

 

9 More Discussions You Might Find Interesting

1. Programming

Using argv argc

I searched on the forums. No advises. I am using a previous source code. I changed the main function main(int argc, char **argv) in a function misc(int argc, char **argv). How do you use the argc and argv parameters? This is how I am calling the function : char param; strcat(param,"wgrib ");... (4 Replies)
Discussion started by: Akeson Chihiro
4 Replies

2. Programming

dbx debugger + argv[argc]

Is it possible to use the dbx debugger with the CL options for the executable ? Say you have created a executable called myfunc which can take string arguments at run-time. You run it like this ./myfunc Hello World where Hello and World are the string arguments My question is whether... (1 Reply)
Discussion started by: JamesGoh
1 Replies

3. Programming

help for argv argc

Hi C experts, I have the following code for adding command line option for a program int main (argc, argv) int argc; char *argv; { char *mem_type; //memory type char *name; //name of the memory int addr; //address bits int data; ... (5 Replies)
Discussion started by: return_user
5 Replies

4. Programming

How to turn argv[1] into a string in C?

i have a function that's parameter is char *s and in the main function i am sending that function &(argv), but i dont think this is working, how can i fix this? can i cast it to be a string or something? is there a way i can create a new string thats exactly what argv is equal to... (6 Replies)
Discussion started by: omega666
6 Replies

5. Shell Programming and Scripting

ARGV and ARGC in bash 3 and bash 3.2

Hi Folks, I've prepared a shell script that takes action based on arguments and number of arguments..sample code like: ARGV=("$@") ARGC=("$#") case ${ARGV} in abc) if ; then ...... else printf "\nInvalid number of arguments, please check the inputs and... (2 Replies)
Discussion started by: SBC
2 Replies

6. Shell Programming and Scripting

argc/ argv in awk

Hi guys, i'm trying to solve this problem. I have to run something like cat file1.txt | awk -f script.awk 10 if i'm in the awk script, how can i take the parameter :10 ??:wall: i try something like : BEGIN{ var=argv } {..} END{..} but obviously is not correct... (5 Replies)
Discussion started by: heaven25
5 Replies

7. UNIX for Advanced & Expert Users

O argv, argv, wherefore art thou argv?

All of my machines (various open source derivatives on x86 and amd64) store argv above the stack (at a higher memory address). I am curious to learn if any systems store argv below the stack (at a lower memory address). I am particularly interested in proprietary Unices, such as Solaris, HP-UX,... (9 Replies)
Discussion started by: alister
9 Replies

8. Programming

Building Block style programming Book

Hello to all, Here is my situation. Some time in the mid-80's I stumbled across a small white programming book - can't remember the name but it was unique in that it started right out giving instructions on creating building blocks in code as a foundation for a complete system. The book was... (2 Replies)
Discussion started by: jozefn
2 Replies

9. Homework & Coursework Questions

Help using argc/argv in assignment

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: First, create a "hello world" program that prints "Hello World". But NOW, instead use argc to verify that a... (9 Replies)
Discussion started by: miniviking10
9 Replies
Tcl_Concat(3)						      Tcl Library Procedures						     Tcl_Concat(3)

__________________________________________________________________________________________________________________________________________________

NAME
Tcl_Concat - concatenate a collection of strings SYNOPSIS
#include <tcl.h> const char * Tcl_Concat(argc, argv) ARGUMENTS
int argc (in) Number of strings. const char *const argv[] (in) Array of strings to concatenate. Must have argc entries. _________________________________________________________________ DESCRIPTION
Tcl_Concat is a utility procedure used by several of the Tcl commands. Given a collection of strings, it concatenates them together into a single string, with the original strings separated by spaces. This procedure behaves differently than Tcl_Merge, in that the arguments are simply concatenated: no effort is made to ensure proper list structure. However, in most common usage the arguments will all be proper lists themselves; if this is true, then the result will also have proper list structure. Tcl_Concat eliminates leading and trailing white space as it copies strings from argv to the result. If an element of argv consists of nothing but white space, then that string is ignored entirely. This white-space removal was added to make the output of the concat command cleaner-looking. The result string is dynamically allocated using Tcl_Alloc; the caller must eventually release the space by calling Tcl_Free. SEE ALSO
Tcl_ConcatObj KEYWORDS
concatenate, strings Tcl 7.5 Tcl_Concat(3)
All times are GMT -4. The time now is 03:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy