• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 765
  • Last Modified:

Parse comma delimeted string into an array

I am reading the name of an application from a registry value, however I need to change the code to read multiple application names from the registry value.  The registry value will be a comme delimeted string, and I think I need to read these values into an array and then launch these application.

As I have virtually no C experience, can someone please help me with this ?
success = get_registry_value(APPLICATION, "WorkstationRole", newApplication, sizeof newApplication);
	
if (success)
{	
	sprintf (WorkstationRole, "%s%s", path, newApplication);
 
	if(CreateProcess(NULL,
		WorkstationRole, // cmd line
		NULL, // process sa
		NULL, // thread sa
		FALSE, // inherit handles
		0, // flags
		NULL, // env
		NULL, // cur dir
		&sui,
		&pi))
{
// Close the thread handle as it is not required
CloseHandle(pi.hThread);

Open in new window

0
hairybarbarian
Asked:
hairybarbarian
  • 2
2 Solutions
 
Infinity08Commented:
Assuming that newApplication is a char*, you can use strtok to split it up into tokens :

        http://www.cplusplus.com/reference/clibrary/cstring/strtok.html

char *newApplication;
 
char *token = strtok(newApplication, ",");
while (token) {
  /* use token here */
  token = strtok(NULL, ",");
}

Open in new window

0
 
sunnycoderCommented:

appname = strtok (newApplication, "," );
while (appname)
{
     //create process goes here ... appname has application name
     appname = strtok (NULL, "," );
}

Open in new window

0
 
Infinity08Commented:
May I ask what made you accept sunnycoder's response, and not mine ? It seems that we posted the same exact answer at the same time, so shared credit seems in order ... Or am I missing something ?
0
 
hairybarbarianAuthor Commented:
Thank you.
Just what I needed, thanks again.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now