我正在使用命令行参数编写C程序。 当我在命令行中给一个带空格的字符串时,它会拆分为子文件,
用于示例输出
$ ./cmdline 4646 313 256 96664
commandline args count=5
exe name=./cmdline
split_part1=4646
split_part2=313
split_part3=256
split_part4=96664
我想要相同的输出而不在字符串之间留出任何空格。怎么做,每个子部分应该用相同数量的字符串分割。请帮忙。
#include <stdio.h>
int main (int argc, char *argv[] )
{
int i=0;
printf("\n commandline args count=%d", argc);
printf("\n exe name=%s", argv[0]);
for (i=1; i< argc; i++)
{
printf("\n");
printf("\n split_part%d=%s", i, argv[i]);
}
printf("\n");
return 0;
}
答案 0 :(得分:0)
在评论之后,一个简单的算法来实现你想要的东西
(,固定令牌大小为5
,可根据要求稍后进行修改)
argc ==2
。argv[1]
的字符串长度,存储它。index < string_length
并将条件增加为index +=5
。使用printf()
(用于说明,也可以添加存储部分),如
printf("%5s\n" &(argv[i][index]));