Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Строки в C просто: объявление, ввод, вывод и библиотечные функции

Что такое строка в C?

Строка в C — непрерывная последовательность символов, оканчивающаяся нуль-символом (\0). Хотя в языке нет выделенного строкового типа, строка обычно представляется как массив значений char. Компилятор автоматически добавляет нуль-терминатор при инициализации строкового литерала.

"Welcome to the world of programming!" 

Заголовочный файл стандартной библиотеки <string.h> предлагает множество функций для эффективной манипуляции строками.

Объявление и инициализация строк

Поскольку C рассматривает строку как массив символов, вы должны указать размер массива. Размер определяет максимальное количество символов (исключая нуль-терминатор), которые могут быть сохранены.

char string_variable_name[array_size]; 

Типичные объявления:

char first_name[15]; /* до 14 символов + \0 */ char last_name[15]; 

Когда вы предоставляете инициализатор, компилятор подсчитывает символы и автоматически добавляет нуль-терминатор. Размер массива может быть опущен, если вы даете инициализатор.

char first_name[15] = "ANTHONY"; char first_name[] = "NATHAN"; /* размер выводится автоматически */ char string3[6] = {'h','e','l','l','o','\0'}; /* явный терминатор */ 

Чтение строк от пользователя

Функции ввода различаются по безопасности и поведению:

Пример с fgets:

#include <stdio.h> int main() { char name[50]; printf("Enter your full name: "); fgets(name, sizeof(name), stdin); printf("Your name is %s", name); return 0; } 

Вывод строк

Классический способ отображения строки — printf("%s", name);. Два удобных альтернативы:

Пример с puts:

#include <stdio.h> int main() { char greeting[] = "Hello, world!"; puts(greeting); return 0; } 

Библиотека строк (<string.h>)

Часто используемые функции:

ФункцияОписание
strlenВозвращает длину строки (исключая нуль-терминатор).
strcatПрисоединяет одну строку к другой.
strcmpЛексикографически сравнивает две строки.
strcpyКопирует строку.
strncmpСравнивает до n символов.
strncpyКопирует до n символов.
strchrНаходит первое вхождение символа.
strrchrНаходит последнее вхождение символа.
strstrНаходит подстроку.
strncatКонкатенирует до n символов.
strlwrПриводит к нижнему регистру (нестандартно).
struprПриводит к верхнему регистру (нестандартно).
strrevРеверсирует строку (нестандартно).

Иллюстративная программа:

#include <stdio.h> #include <string.h> int main() { char str1[20] = "Hello"; char str2[20] = " World!"; char result[40]; /* Сравнение */ if (strcmp(str1, str2) == 0) puts("Strings are equal"); else puts("Strings are not equal"); /* Конкатенация */ strcat(str1, str2); // str1 теперь содержит "Hello World!" printf("Concatenated: %s\n", str1); /* Длина */ printf("Length of str1: %zu\n", strlen(str1)); /* Копирование */ strcpy(result, str1); printf("Copied string: %s\n", result); return 0; } 

Преобразование строки в число

Стандартные преобразования:

Пример с atoi:

#include <stdio.h> #include <stdlib.h> int main() { char number_str[20]; printf("Enter a number: "); fgets(number_str, sizeof(number_str), stdin); int num = atoi(number_str); printf("You entered %d\n", num); return 0; } 

Ключевые выводы

Язык C

  1. Освоение строк в Java: создание, методы и лучшие практики
  2. Строковые представления в Java Enums: настройка toString() и лучшие практики
  3. Создание списков строк в VHDL: лучшие практики и пример
  4. Массивы в C++: объявление, инициализация и работа с указателями
  5. Функции строк в C++: strcpy, strcat, strlen, strcmp — практические примеры
  6. Использование realloc() в C: синтаксис, лучшие практики и пример
  7. Освоение функции free() в C: практическое руководство и пример
  8. Метод String.length() в Java: как получить длину строки (пример)
  9. Освоение строковых операций в Python: replace, join, split, reverse, преобразование регистра
  10. Класс String в Java: создание, манипуляции и основные методы