Как передать 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));
}
Другие вопросы по тегам