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