Как передать char в C в массив char?
Скажи, что у меня есть:
....
char aLine;
char inputLine[1000];
scanf("%c", &aLine);
....
Теперь я хочу преобразовать aLine в массив char, чтобы я мог посчитать, сколько символов в aLine. Как я могу это сделать?
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));
}