Я хотел бы быть уверен, что моя строка (которая набирается пользователем) получает только алфавит и эти специальные символы (-, ,_,,) в ней.Как это было бы возможно в C?Заранее спасибо!
(-, ,_,,)
Вдохновение из Фильтрация символа из строки в комментариях C и @ FiddlingBits , вот возможное решение для сохранения алфавита и нужных символов:
#include <ctype.h> #include <string.h> void filter_chars(const char *string, char *result, const char *keep) { int bad, j = 0; int nkeep; nkeep = (int) strlen(keep); for (int i = 0; string[i] != '\0'; i++) { if (isalpha(string[i])) { result[j++] = string[i]; continue; } for (int k = 0; k < nkeep; k++) if (string[i] == keep[k]) { result[j++] = string[i]; break; } } result[j] = '\0'; }