我是C语言的新手,并且在字符串方面遇到了一些麻烦。如何创建包含C中指定字符的可变长度字符串?这是我尝试过的操作,但出现编译器错误:

int  cLen     = 8    /* Specified Length    */
char chr      = 'a'; /* Specified Character */
char outStr[cLen];
int  tmp      = 0;
while (tmp < cLen-1)
  outStr[tmp++] = chr;

outStr[cLen-1] = '\0';

/* outStr = "aaaaaaaa" */

最佳答案

你可以试试:

char *str = malloc(cLen + 1);
memset(str, 'a', cLen);
str[cLen] = 0;

10-08 04:12