So ist das folgende ein Sandbox-Programm. Das Problem, das ich habe, ist ein Array in einer einzigen Zeichenfolge zu kombinieren. Ich möchte im Folgenden etwas ähnlich den Code tun:So konvertieren Sie Array-Inhalt in eine einzige Zeichenfolge C
for (i = 0; i < size_of_array; i++)
{
string += A[i]; // print array
}
Das Ziel ist es, einen Befehl popen() und erfassen die Ausgabe in ein einziges String zu laufen. der Grund dafür ist, so dass ich die Ausgabe in eine separate Funktion beispielsweise zurückgeben kann:
run_command()
{
return output;
}
main()
{
run_command()
}
nun die genaue Code, dass die „Sandbox“ Programm ist unten:
#include <stdio.h>
#include <string.h>
int main()
{
FILE *in;
extern FILE *popen();
char buff[512];
int i, size_of_array;
char A[512][512];
in = popen("ls -lt", "r"); // run command
i = 0;
while(fgets(buff, sizeof(buff), in)!=NULL) // get output into buff
{
strcpy(A[i], buff); // copy buff into array
i ++;
}
pclose(in);
size_of_array = i; // get length or size of array
for (i = 0; i < size_of_array; i++)
{
printf("A[%d]= %s", i, A[i]); // print array
}
return 0;
}
I Entschuldige, wenn das eine noob Frage ist, schätze ich die Hilfe, danke!
TL ;DR. Aber 'sprintf' könnte helfen. –
C hat keinen String-Typ. – Olaf
'char outbuf [512 * 512], * sp = outbuf; size_t len = 0; für (i = 0; i
BLUEPIXY