Cstr()
компилируется встроенный для лучшей производительности.
CType
допускает броски между типами, если оператор преобразования определяется
ToString()
Между базовым типом, и строка выдает исключение, если преобразование не возможно.
TryParse()
От Строки для базирования typeif
возможный иначе возвращает false
DirectCast
используемый, если типы будут связаны через наследование или совместно используют единый интерфейс, то выдаст исключение, если бросок не будет возможен, [то 116] ничего не возвратит в этом экземпляре
Scanf не выполняет проверку границ. fgets, вероятно, будет лучшим выбором. Затем вы можете использовать sscanf () для его оценки.
Хорошее обсуждение темы здесь - http://cboard.cprogramming.com/c-programming/109243-scanf-vs-fgets.html
Как разрешить ввод пробелов с помощью scanf? (Это получил мой злой близнец прочитал лекцию за то, что забыл об этом - не мне)
int scanf(const char * restrict format, ...);
scanf (3) выполняет поиск определенного шаблона , определенного аргументом формата на заданном входе, известном как stdin ], где шаблон определяется вами. Входные данные для scanf (3) , в зависимости от его варианта (scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf), могут быть строкой или файлом.
char *fgets(char * restrict str, int size, FILE * restrict stream);
fgets (3) просто считывает строку из входного файла stream и копирует байты в виде завершающей нулевой строки в буфер str и ограничивает вывод в буфер заданными байтами в размере .
Есть несколько отличий. Двумя важными являются:
fgets ()
может читать из любого открытого файла, но scanf ()
читает только стандартный ввод. fgets ()
читает строку текст 'из файла; scanf ()
может использоваться для этого, но также обрабатывает преобразования из строковых во встроенные числовые типы. Многие люди будут использовать fgets ()
для чтения строки данных, а затем используйте sscanf ()
, чтобы проанализировать его.
scanf анализирует строку, которую вы читаете (или создавали), а fgets читает строку из открытого ФАЙЛА *. Или вы имеете в виду fscanf?