Форум программистов, компьютерный форум, киберфорум
Наши страницы

функция strcpy и strcat - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конструктор http://www.cyberforum.ru/cpp-beginners/thread45534.html
Конструктор сбрасывающий экземпляр класса. Что он из себя представляет? Приведите примеры.
C++ Exe файл на другом компе написал прогу на С++ по VS08, exe файл по флешке передал другу, говорит не открывает, в чем проблема? http://www.cyberforum.ru/cpp-beginners/thread45525.html
C++ Статическое поле
Помогите с такой проблемой. Программа нормально компилится, но возвращается, вот такая ошибка при объявлении статического поля, являющегося указателем на массив значений строк символов(char*) типа...
Представление целых чисел массивом байтов C++
у меня вот такая задачка:Написать процедуры сложения и вычитания двух целых чисел, каждое из которых представлено массивом байтов. Первый байт массива содержит код знака числа: 0 - ‘+’, 225 - ‘-‘, а...
C++ Создание .ехе файла http://www.cyberforum.ru/cpp-beginners/thread45458.html
У меня установлена Borland Developer Studio Turbo C++. При создании программки, создается и .ехе файл. У меня на компе он запускается и нормально работает, но когда этот же .ехе запустить на другом...
C++ Копирование Строк В общем, я продолжаю разборки с С(++) и у меня снова вопрос, ответ на который ув. тов. Google не дал. Гад! Задача: даны три строки, две считать с клавиатуры (разделитель — LF или CR), сотворить... подробнее

Показать сообщение отдельно
accept
4831 / 3252 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
31.07.2009, 06:28
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    const char *patt = "...";
    const int MAXLEN = 28;
 
    str = new char[MAXLEN];
 
    if(strlen(name[pos]) < MAXLEN)
        strcpy(str, name[pos]);
    else {
        int newlen;
 
        if ((newlen = MAXLEN-strlen(patt)-1) > 0) {
            strncpy(str, name[pos], newlen); /* она не ставит нуль-символ, если не доходит до него */
            *(str+newlen) = '\0';
            strcat(str, "..."); /* эта сначала ищет нуль-символ, а потом присоединяет в него */
        }
    }
sizeof возвращает количество байт

Добавлено через 7 минут 52 секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    const char *patt = "...";
    const int MAXLEN = 27;
 
    str = new char[MAXLEN+1];
 
    if(strlen(name[pos]) <= MAXLEN)
        strcpy(str, name[pos]);
    else {
        int newlen;
 
        if ((newlen = MAXLEN-strlen(patt)) > 0) {
            strncpy(str, name[pos], newlen); /* она не ставит нуль-символ, если не доходит до него */
            *(str+newlen) = '\0';
            strcat(str, "..."); /* эта сначала ищет нуль-символ, а потом присоединяет в него */
        }
    }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru