Strcat ( s1, s2 ); // дописать s2 вконец s1

puts (s1); // "Могу, хочу, "

Strcat (s1, s3); // дописать s3 вконец s1

puts (s1); // "Могу, хочу, надо!"

}

Заметьте, что если бы строка s1 была объявлена как s1[] (или с длиной меньше 18), произошел бы выход за границы массива с печальными последствиями.

Задача. Ввести с клавиатуры имя файла. Изменить его расширение на ".exe".

Алгоритм решения:

1. Найти в имени файла точку '.' или признак конца строки '\0'.

2. Если нашли точку, скопировать начиная с этого места новое расширение ".exe" (используем функцию strcpy).

3. Если нашли конец строки (точки нет), добавить в конец расширение ".exe" (используемфункцию strcat).

#include <stdio.h>

#include <string.h>

Main()

{

char s[80];

int n; // номерсимвола '.'

printf("Введитеимяфайла ");

gets (s);

n = 0;

while ((s[n]!= '.') // ищем первую точку

&& (s[n]!= '\0')) // или конец строки

n ++;

if (s[n] == '.') // если нашли точку, то...

strcpy (s+n, ".exe"); // меняем расширение,

else strcat (s, ".exe"); // иначедобавляем

puts (s);

}

Задача. Ввести с клавиатуры фамилию и имя в одну строку (допустим, "Иванов Вася"). Построить в памяти строку «Привет, Вася Иванов!».

Алгоритм решения этой задачи можно записать так:

В программе используется важное свойство массивов в языке Си (в том числе и символьных строк, которые являются массивами символов):

Если массив называется s, то запись s+i обозначает адрес элемента s[i] (так же, как и

&s[i]).Так как функциям strcpy и strcat надо передать адреса в памяти, куда и откуда переместить данные, мы можем использовать запись a+len вместо &a[len] и т.д.

#include <stdio.h>

#include <string.h>

Main()

{

char s[80], a[80] = "Привет, ";

int n, len;

printf("Введите фамилию и имя ");

gets (s);

n = 0;

while ((s[n]!= ' ') // ищемпервыйпробел

&& (s[n]!= '\0')) // или конец строки

n ++;

if (s[n]!= ' ') { // если нет пробела,...

printf("Неверная строка");


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: