Как читать строку в C. Язык программирования C не предоставляет фактический строковый тип данных. В C строка эмулируется массивом символов, заканчивающимся NULL. Такой массив можно объявить статически или как указатель. Стандартный C предоставляет множество функций для управления массивами символов или строками C. В этой статье основное внимание уделяется функциям чтения из входного потока и файлов. Следуйте этим советам, чтобы узнать, как читать строку в C.
Шаг 1
Разберитесь в основах. Строка C - это массив типа диаграммы. Как и все массивы C, первый элемент имеет индекс 0, а последний - «длина строки минус 1». Обычно компилятор вставляет NULL в последнее место, поэтому строка может содержать «длину строки минус 1». элементы. Null эквивалентен 0x00 в целочисленной форме и '\ 0' в символьной форме. Доступ к элементам осуществляется с помощью оператора «[]». Шаг 2 иллюстрирует эти концепции.
Видео дня
Шаг 2
Добавьте указанную ниже директиву include в любой исходный файл перед использованием функций этого руководства:
#include
Шаг 3
Объявите строку C. В приведенном ниже коде показано объявление с использованием статического метода и метода указателя:
// статическое объявление char str [50] = {0}; // сокращенный способ инициализировать все элементы до 0 // str [49] имеет значение NULL // str имеет емкость для 48 символов // объявление указателем char pStr = NULL; // нет выделения памяти pStr = (char) malloc (50); // это делается с помощью "malloc ()"
Шаг 4
Считайте данные в строку C с помощью функции «scanf ()», которая считывает серию строк, разделенных пробелом, от стандартного ввод и помещает их в адреса, принадлежащие соответствующим ссылочным переменным, в соответствии с форматом нить":
int n; printf ("Введите свое имя и возраст:"); scanf ("% s% d", str, & n); // printf ("Тебя зовут% s, и тебе% d \ n", str, n);
Шаг 5
Поместите данные в строку C с помощью более простой функции «gets ()», которая считывает данные из стандартного ввода только в строку:
printf ("Введите свою фамилию:"); получает (str); printf ("Ваше имя% s \ n", str);
ШАГ 6
Считать данные файла в строку C с помощью "fscanf ()"; эта функция аналогична scanf ():
ФАЙЛ * pFile; pFile = fopen ("myFile.txt", "r"); // предполагаем, что файл существует и содержит данные if (NULL! = pFile) {fscanf (pFile, "% s", str); printf ("Первое слово в файле% s \ n", str); fclose (pFile); }
Шаг 7
Повторите шаг 5, используя «fgets ()», который работает так же, как «gets ()»:
ФАЙЛ * pFile; pFile = fopen ("myFile.txt", "r"); если (NULL! = pFile) {fgets (pFile, str); printf ("Первое слово в файле% s \ n", str); fclose (pFile); }
Вещи, которые вам понадобятся
C / C ++ IDE или компилятор C
Книга по C, например "The C Programming Language" Брайана У. Керниган
Подсказка
Чтобы узнать больше об упомянутых функциях, посетите веб-сайт C Plus Plus.
Предупреждение
Не пытайтесь скомпилировать этот код. Он предназначен только для демонстрации функций. Это непоследовательная программа и при компиляции выдает ошибки.