Мне нужно проверить, содержит ли пользовательский ввод точку и если нажать клавишу ввода. (Text text text .[Enter]
)Как проверить программно, если вход содержит точки (точки)?
Если это так, не записывайте эту строку в файл и выходите, иначе продолжайте вводить и записывайте строку в файл.
Вот что код, который я до сих пор:
FILE *File;
char *fileName = argv[1];
char *ptr;
char name[20];
File = fopen(fileName, "r");
scanf("%s", name);
fprintf(File, "%s\n", name);
for (ptr = name; *ptr!= '\0'; ptr++)
{
if (*ptr == '.')
{
printf("Exit");
fclose(File);
exit(0);
}
else
{
// How to make user continue to input and write to file?
}
}
Вам не нужен оператор else, если вы можете успешно закончить цикл for, что означает, что во входных точках нет точек. все, что вы хотите сделать с файлом, может идти после цикла for. – ForeverStudent
Когда 'scanf' возвращает вас * lnow *, что пользователь нажал клавишу ввода, в противном случае вызов' scanf' будет блокироваться бесконечно. –
Можно ли использовать функцию 'strchr()', определенную в 'string.h'? –