Як прочитати рядок на 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.

Увага

Не намагайтеся скомпілювати цей код. Він призначений лише для демонстрації функцій. Це не узгоджена програма, і під час компіляції видаватиме помилки.