|
Фраза "Структурная переменная описывается с помощью переменной структурного типа" на мой Взгляд является тафтология. Из нее сложно понять суть утверждения. Хотелось бы полке понятного описания. |
Опубликован: 26.08.2005 | Уровень: для всех | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Лекция 13:
Символьные строки и функции над ними
Ввод-вывод строк
fgets - прочитать строку из входного потока, включая символ новой строки.
Объявления: char *fgets (s, n, stream) char *s; int n; FILE *stream;
gets - прочитать строку из стандартного файла ввода stdin.
Определение: char *gets (s) char *s;
fputs - записать строку в поток stream.
Определение: int fputs (s, stream) char *s; FILE *stream;
puts - записать строку в стандартный файл вывода stdout. В конце строк записывается символ новой строки.
Определение: int puts (s) char *s;
Обработка строк
Для выполнения описанных в этом подразделе функций необходимо включить в программу файл string.h командой
#include <string.h>
Определение: char *strcat(s1,s2) char *s1, *s2;
Пример 1:
/* сцепить две строки */
/* в головном файле conio.h содержится функция очистки экрана clrscr( ) */
#include <string.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{ clrscr();
char destination[25];
char *blank = " ", *c = "C++", *turbo = "Turbo";
strcpy(destination, turbo);
strcat(destination, blank);
strcat(destination, c);
printf("%s\n", destination);
getch();
return 0;
}strncat - сцепить две строки, причем из второй строки копировать не более n символов.
Определение: char *strncat(s1,s2,n) char *s1, *s2; int n;
Пример 2:
/* cцепить две строки, причем из второй строки
копировать не более n символов */
#include <string.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
clrscr();
char destination[25];
char *source = "structured ";
strcpy(destination, "programming");
strncat(destination, source, 11);
printf("%s\n", destination);
getch();
return 0;
}strcmp - сравнить две строки в лексикографическом порядке.
Определение: int strcmp(s1,s2) char *s1, *s2;
Пример 3:
#include <string.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";
int ptr;
clrscr();
ptr = strcmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n");
ptr = strcmp(buf2, buf3);
if (ptr > 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n");
getch();
return 0;
}