说我有:
....
char aLine;
char inputLine[1000];
scanf("%c", &aLine);
....
现在,我想将aLine转换为char数组,以便可以计算aLine中的字符数。我怎样才能做到这一点?
最佳答案
语句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));
}