所以以下是一個沙盒程序。我遇到的問題是將一個數組合併成一個字符串。我願做類似下面的代碼的東西:如何將數組內容轉換爲單個字符串C
for (i = 0; i < size_of_array; i++)
{
string += A[i]; // print array
}
的目標是要運行使用命令POPEN()並捕獲輸出成一個字符串。這樣做的原因是,這樣我可以輸出返回到一個單獨的函數,例如:
run_command()
{
return output;
}
main()
{
run_command()
}
現在確切的代碼的「沙箱」程序正在使用低於向下:
#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;
}
我如果這是一個noob問題,表示歉意,我感謝幫助,謝謝!
TL ; DR。但'sprintf'可能會有所幫助。 –
C沒有字符串類型。 – Olaf
'char outbuf [512 * 512],* sp = outbuf; size_t len = 0; for(i = 0; i
BLUEPIXY