Int len;

char s[] = "Prodigy";

len = strlen(s);

printf ( "Длинастроки %s равна %d", s, len );

}

В этом примере функция определит, что длина строки равна 7. Теперь рассмотрим более сложную задачу.

Задача.В текстовом файле input.datзаписаны строки текста. Вывести в файл output.dat

в столбик длины этих строк.

#include <stdio.h>

#include <string.h>

Main()

{

char s[80];

FILE *fin, *fout;

fin = fopen ( "input.dat", "r" );

fout = fopen ( "output.dat", "w" );

while ( NULL != fgets(s, 80, fin) ) // читаемстроку s

{

fprintf(fout, "%d\n", strlen(s)); // выводим ее длину в файл

}

Fclose ( fin );

Fclose ( fout );

}

Несмотря на то, что с первого взгляда программа написана верно, числа в файле будут на единицу больше, чем длины строк (кроме последней строки). Вспомнив предыдущий материал,объясните это. Далее будет показано, как получить точный результат.

Сравнение строк – strcmp

Для сравнения двух строк используют функцию strcmp(от английских слов string comparison– сравнение строк). Функция возвращает ноль, если строки равны (то есть «разность»между ними равна нулю) и ненулевое значение, если строки различны. Сравнение происходитпо кодам символов, поэтому функция различает строчные и заглавные буквы – они имеют разныекоды.

#include <stdio.h>

#include <string.h>

Main()

{

char s1[] = "Вася",

s2[] = "Петя";

if ( 0 == strcmp(s1,s2) )

printf("Строки %s и %s одинаковы", s1, s2);

else printf("Строки %s и %s разные", s1, s2);

}

Если строки не равны, функция возвращает «разность» между первой и второй строкой, то есть разность кодов первых различных символов. Эти числа можно использовать для сортировки строк – если «разность» отрицательна, значит первая строка «меньше» второй, то есть стоит за ней в алфавитном порядке. В таблице показано несколько примеров (код буквы 'A'равен 65,

код буквы 'B'66, код буквы 'C'67).

 

Задача. Ввести две строки и вывести их в алфавитном порядке.

#include <stdio.h>

#include <string.h>

Main()

{

char s1[80], s2[80];

printf ("Введитепервуюстроку");








Дата добавления: 2015-10-05; просмотров: 579;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.