如何将C中的char转换为char数组?

时间:2018-09-18 20:44:49

标签: c arrays string char c89

说我有:

....
char aLine;
char inputLine[1000];
scanf("%c", &aLine);
....

现在,我想将aLine转换为char数组,以便可以计算aLine中的字符数。我该怎么办?

1 个答案:

答案 0 :(得分:1)

声明scanf("%c",...读取单个字符,因此实际上不需要对其进行计数。如果要将单个字符“转换”为字符串(然后可以将其应用于例如strlen()),请将该字符写在特定位置。不要忘记使用\0(或0x0)终止字符串,以使诸如printf("%s"...strlen()之类的字符串函数正常工作:

char aLine;
char inputLine[1000];
scanf("%c", &aLine);
inputLine[0] = aLine;
inputLine[1] = '\0';

printf("inputLine: '%s' has length %d", inputLine, strlen(inputLine));

或一次读完整行:

char inputLine[1000];
if (fgets(inputLine,1000,stdin)) {
   printf("inputLine: '%s' has length %d", inputLine, strlen(inputLine));
}