С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
3 / 3 / 0
Регистрация: 11.04.2009
Сообщений: 32

Strncpy

25.05.2009, 06:04. Показов 4304. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите пожауйста на С аналог функции Strncpy
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.05.2009, 06:04
Ответы с готовыми решениями:

Д.Либерти С++ за 21 день. strncpy(...) Листинг 8.11
#include<iostream> #include<ctype.h> #include<string.h> using namespace std; bool GetWord(char *string, char *word, int&...

Не работает strncpy в MV
Не работает strncpy в Micrisoft Visual Задача следущая: Нужно Преобразовать суму к прописному текстовому виду, например 2141 — Две...

strncpy
Дана строка: djh,dfkh,sdj. Как последовательно по отдельности записать в strncpy текстовые части: djh dfkh sdj

12
 Аватар для EnzoMatrix
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
25.05.2009, 07:33
мо-моему это итак сишная функция, тока модуль стринг в некоторых компилерах надо подрубить
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
25.05.2009, 09:47
т.к. самому делать этот велосипед влом, вот от тех, кому не влом:
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
/*
 * Apache's "replacement" for the strncpy() function. We roll our
 * own to implement these specific changes:
 *   (1) strncpy() doesn't always null terminate and we want it to.
 *   (2) strncpy() null fills, which is bogus, esp. when copy 8byte
 *       strings into 8k blocks.
 *   (3) Instead of returning the pointer to the beginning of
 *       the destination string, we return a pointer to the
 *       terminating '\0' to allow us to "check" for truncation
 *
 * apr_cpystrn() follows the same call structure as strncpy().
 */
 
APR_DECLARE(char *) apr_cpystrn(char *dst, const char *src, apr_size_t dst_size)
{
 
    char *d, *end;
 
    if (dst_size == 0) {
        return (dst);
    }
 
    d = dst;
    end = dst + dst_size - 1;
 
    for (; d < end; ++d, ++src) {
    if (!(*d = *src)) {
        return (d);
    }
    }
 
    *d = '\0';  /* always null terminate */
 
    return (d);
}
0
3 / 3 / 0
Регистрация: 11.04.2009
Сообщений: 32
25.05.2009, 17:17  [ТС]
Можно, переделать этот код на С, а то некороые вещи не понятны.
0
 Аватар для Mecid
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,246
25.05.2009, 17:20
что не ясно то?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.05.2009, 17:31
В велосипеде в 3-м пункте написано, что ихняя реализация делает не так, по сравнению с правильной. Для правильной вместо "return d" нужно "return dst"
0
3 / 3 / 0
Регистрация: 11.04.2009
Сообщений: 32
28.05.2009, 15:55  [ТС]
APR_DECLARE(char *) apr_cpystrn(char *dst, const char *src, apr_size_t dst_size)
как вот эту строку можно в С записать?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
28.05.2009, 16:03
"char * apr_cpystrn(char *dst, const char *src, apr_size_t dst_size)"
0
3 / 3 / 0
Регистрация: 11.04.2009
Сообщений: 32
01.06.2009, 19:05  [ТС]
Может кто-нибудь написать программу, которая тестирует эту функцию на С?
0
Заблокирован
11.06.2009, 09:21
Вах, дарагой зачэм куда-то ходыт, вот прототып)))))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char * __cdecl strncpy (
        char * dest,
        const char * source,
        size_t count
        )
{
        char *start = dest;
 
        while (count && (*dest++ = *source++))    /* copy string */
                count--;
 
        if (count)                              /* pad out with zeroes */
                while (--count)
                        *dest++ = '\0';
 
        return(start);
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
11.06.2009, 10:13
Ему нужен не прототип и не реализация, а тест на эту функцию
0
Заблокирован
11.06.2009, 13:34
Что значит тест?Как в программе юзать или что?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
11.06.2009, 13:37
Цитата Сообщение от YurA_280784 Посмотреть сообщение
Что значит тест?Как в программе юзать или что?
Пардон, я с другой темой перепутал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2009, 13:37
Помогаю со студенческими работами здесь

про strncpy ()
привет=))) вот чето с этой функцией не пойму пример есть #include &lt;iostream&gt; using namespacr std; int main () { const int...

Создать аналог strncpy
Добрый день. Столкнулся с проблемой: при компиляции нижеприведенного кода выдает ошибку &quot;Run-Time Check Failure #2 - Stack around...

ошибка 4996 strncpy
#include&lt;iostream&gt; #include&lt;Windows.h&gt; #include&lt;fstream&gt; #include&lt;cstring&gt; #include&lt;cstdlib&gt; #include &lt;conio.h&gt; #include...

Ошибка в функции (strncpy)
Надо прочитать файл содержащий что-то подобное: 1. Nomer reisa: 1 ves bagazha: 1.50 (kg) kolichestvo veshei: 5 2. Nomer reisa: 1 ves...

Поведение функции strncpy
Доброго времени суток, уважаемые форумчане. Была необходимость решить задачу такого содержания: Пользователь вводит строку с помощью char...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru