如何使用 snprintf 将 argv 中的所有值连接到一个字符串?
如果我传入像这样的值./prog val1 val2 val3 val4
我的字符串
char all_values[MAX_LEN]
应该是“val1 val2 val3 val4
”
如何使用 snprintf()
高效地做到这一点?
最佳答案
#include <stdio.h>
#define MAX_LEN 16
int main(int ac, char **av) {
char buffer[MAX_LEN];
buffer[0] = 0;
int offset = 0;
while(av++,--ac) {
int toWrite = MAX_LEN-offset;
int written = snprintf(buffer+offset, toWrite, "%s ", *av);
if(toWrite < written) {
break;
}
offset += written;
}
printf("%s\n", buffer);
}
关于在 C 中使用 snprintf 将所有 argv 值连接到一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5796476/