I have a method:
int n = 100; // Number of elements
char** strings = (char**)malloc(n * sizeof(char*));// Dynamic Array of Strings
// -------------------------------------------------------
if (strings == NULL) {
fprintf(stderr, "Memory allocation failedn");
exit(1);
}
// Allocate memory for each string and assign values
for (int i = 0; i < n; i++) {
// Allocate memory for each string
strings[i] = (char*)malloc((MAX_STRING_LENGTH + 1)
* sizeof(char));
if (strings[i] == NULL) {
fprintf(stderr, "Memory allocation failedn");
exit(1);
}
}
// -------------------------------------------------------
system("pwd");
system("echo "----------------------"");
FILE *fp;
char path[1035];
/* Open the command for reading. */
fp = popen("test.sh", "r");
if (fp == NULL) {
printf("Failed to run commandn" );
exit(1);
}
/* Read the output a line at a time - output it. */
int i = 0;
while (fgets(path, sizeof(path), fp) != NULL) {
printf("%s", path);
sprintf(strings[i], "%s", path);
i++;
}
/* close */
pclose(fp);
return strings;
And all it does is return this:
START!
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
P☺.Ä╔☺
FINISH!
I understand the blanks just means the array is not full, that’s okay. But these lines: P☺.Ä╔☺ Do not make any sense. Any help?
So yeah, I tried to put that for loop into an array but gave me garbage instead. You can also help me by giving me an alternative. One that I know is system() in c but I do not know how to extract console information from it. All i am trying to do is make a program that will execute a bash script and return the results of the console to my c file.
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Emi Dretcanu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
0