【发布时间】:2010-09-06 19:04:58
【问题描述】:
我需要将以下字符串存储在 C 中的 3 个 char * 变量中:
[foo]
[foo]:[bar]
[foo]:[bar]:[tat]
每个单独的字符串(例如“foo”)在某个时间点通过 char* 指针接收,在接收第二个字符串之前立即生成相应的输出字符串,并且始终知道各个字符串的总数。
可以有任意数量的字符串。
我编写了以下代码来打印字符串:
for(i=0;i<num;i++)
{
for(j=0;j<=i;j++)
{
printf("[%s]",str[j]);
if(j!=i)
{
printf(":");
}
else
{
printf("\n");
}
}
}
但除了使用 strcat() 和一些额外的自定义函数编写一个杂乱无章的逐例函数之外,我无法找到一种将所需的输出字符串存储在变量中的方法。
有没有办法做到这一点,看起来就像简单地打印字符串一样干净?
【问题讨论】:
-
不,它是一个小型命令行解释器,我正在尝试编写它来记录键入的命令。
-
你有一个错字。
if()应该检查j!=i,而不是i!=num-1。但我猜你已经有了工作版本,这只是一个示例,对吧? :-) -
@Oskar N.,谢谢你...