Как передать char в C в массив char? - PullRequest
0 голосов
/ 18 сентября 2018

Скажем, у меня есть:

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

Теперь я хочу преобразовать aLine в массив char, чтобы я мог посчитать, сколько символов в aLine.Как я могу это сделать?

1 Ответ

0 голосов
/ 18 сентября 2018

Оператор 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));
}
...