大家好,我仍然对指针感到困惑,我想知道是否有办法在不使用sprintf的情况下完成以下操作:
char a[100], b[100], c[2];
//Some code that puts a string into a
for(i = 0; i<strlen(a); i++)
{
if(a[i] == 'C')
strcat(b, "b");
else if(a[i] == 'O')
strcat(b, "a");
else if(a[i] == 'D')
strcat(b, "1");
else
{
sprintf(c, "%s", a[i]);
strcat(b, c);
}
}
基本上是一个for循环,循环遍历字符串(数组),并根据字符是什么在另一个字符串中填充一个字符(或字符串),如果字符不是C, O或D,它只是将其添加到另一个字符串中。
我似乎不能只做
strcat(b, a[i]);
,我知道它不会工作,因为它会尝试strcat(char *, char)
而不是char*, const char*)
。
我能把它变成一个指针吗? 他们仍然让我很困惑,我对编程一般只是低级语言的新手…
初始化
char[]
s的最佳方法是什么?将被字符串填充,我现在用的是:char ie[30] = ""
也让我知道如果有什么更简单的方法来做
我想和抱歉,如果它是不清楚的,这显然是一个一次性的脚本,但在我的脚本中使用相同的概念。
提前感谢stackoverflow:X
(1)您的代码中可能存在一个bug:
你在评论一些代码将字符串放入,我认为你没有将任何字符串分配给b
。所以默认情况下char b[100];
有垃圾值(b
中可能没有