Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sirena
5 / 0 / 1
Регистрация: 20.01.2010
Сообщений: 17
#1

Строки.Си - C++

22.01.2010, 15:45. Просмотров 483. Ответов 1
Метки нет (Все метки)

Написать функцию, которая складывает одну строку с n символами другой строки
не использовать strncat
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2010, 15:45     Строки.Си
Посмотрите здесь:

C++ В двумерном массиве целых чисел добавить строки после строки, содержащей простое число

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
22.01.2010, 16:15     Строки.Си #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
 
/* Написать функцию, которая складывает одну строку с n символами другой строки */
char *strncat(char *targ, const char *src, int cnt){
    char *p;
    if ( !targ || !src )
        return NULL;
    for ( p = targ; *p; ++p )
        ;
    while ( cnt-- && ( *p++ = *src++ ) )
        ;
    *p = '\0';
    return targ;
}
 
char *strrchr(const char *s, int ch){
    const char *p;
    if ( !s )
        return NULL;
    for ( p = s; *p; ++p )
        ;
    for ( --p; p >= s && *p != ch; --p )
        ;
    return ( p < s ) ? NULL : (char*)p;
} 
 
int main(void){
    char str1[BUFSIZ], str2[BUFSIZ], *p;
    int n;
    printf("First: ");
    if ( !fgets(str1, BUFSIZ, stdin) )
        return 1;
    if ( p = strrchr(str1, '\n') )
        *p = '\0';
    printf("Second: ");
    if ( !fgets(str2, BUFSIZ, stdin) )
        return 1;
    if ( p = strrchr(str2, '\n') )
        *p = '\0';
    printf("Number of characters: ");
    if ( scanf("%d", &n) != 1 )
        return 1;
    printf("Result: %s\n", strncat(str1, str2, n));
    
    return 0;
}
Ещё можно замутить strlen() и проверять первую строку на предмет переполнения...
Yandex
Объявления
22.01.2010, 16:15     Строки.Си
Ответ Создать тему
Опции темы

Текущее время: 16:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru