fgets может помочь, см. Этот код
#include<stdio.h>
#include<string.h>
int main()
{
chat str[1000];
fegts(str,sizeof(str),stdin);
str[strlen(str)-1]='\0';
return 0;
}
Этот код будет принимать ввод с консоли, пока вы не нажмете ввод, но позаботьтесь о том, чтобы fgets включал символ новой строки ('\ n') с вводом, поэтому нам нужно удалить его и завершить строку нулевым символом ('\ 0 ').
Это причина для этой строки кода str[strlen(str)-1]='\0';
, поэтому strlen (str) вернет длину строки, включая символ новой строки.
например:
если ввод был "fo" , поэтому он хранится в str следующим образом:
str [0] = 'f', str [1] = 'o', str [2] = '\ n' и str [3] = '\ 0'.
Так что strlen (str) -1 вернет 2, поэтому str [2] будет присвоен нулевой символ '\ 0'
И, наконец, строка будет выглядеть следующим образом:
str [0] = 'f', str [1] = 'o' и str [2] = '\ 0'.