说我有:
....
char aLine;
char inputLine[1000];
scanf("%c", &aLine);
....
现在,我想将aLine转换为char数组,以便可以计算aLine中的字符数。我该怎么办?
答案 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));
}