Как да четем низ в C

Как да четем низ в C. Езикът за програмиране C не предоставя действителен тип низ данни. В C низ се емулира от масив от знаци, който завършва с NULL. Такъв масив може да бъде деклариран статично или като указател. Стандартният C предоставя много функции за манипулиране на символни масиви или C низове. Тази статия се фокусира върху функциите, които четат от входния поток и от файлове. Следвайте тези съвети, за да научите как да четете низ в C.

Етап 1

Разберете основите. C низът е масив от диаграма на типа. Както при всички C масиви, първият елемент е индексиран с 0, а последният с "дължина на низа минус 1". Обикновено компилаторът вмъква NULL на последното място, така че низът може да съдържа "дължина на низа минус 1" елементи. Null е еквивалентно на 0x00 в целочислена форма и '\0' в символна форма. Достъпът до елементите се осъществява от оператора "[]". Стъпка 2 илюстрира тези концепции.

Видео на деня

Стъпка 2

Добавете "директивата за включване" по-долу към всеки изходен файл, преди да използвате функциите на този урок:

#include < stdio.h >

Стъпка 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()":

ФАЙЛ* pФайл; pFile = fopen("myFile.txt", "r"); // приемем, че файлът съществува и има данни if (NULL != pFile) { fscanf (pFile, "%s", str); printf("Първата дума във файла е %s\n", str); fclose (pFile); }

Стъпка 7

Повторете стъпка 5, като използвате "fgets(),", който работи по същия начин като "gets()":

ФАЙЛ* pФайл; pFile = fopen("myFile.txt", "r"); if (NULL != pFile) { fgets (pFile, str); printf("Първата дума във файла е %s\n", str); fclose (pFile); }

Неща, от които се нуждаете

  • C/C++ IDE или C компилатор

  • Книга за C, като "Програмният език C" от Брайън У. Керниган

Бакшиш

За да научите повече за споменатите функции, посетете уебсайта на C Plus Plus.

Внимание

Не се опитвайте да компилирате този код. Той е предназначен само за демонстриране на функциите. Това не е кохерентна програма и ще дава грешки при компилиране.