LINUX.ORG.RU

>С++ не предлагать.

Линус, ты?

lester_dev ★★★★★
()

Если символы идут подрят, то memcpy() !

anon_666
()
Ответ на: комментарий от mikki
void *memcpy(s,ct, n) копирует n символов из ct в s и возвращает s

Копирует с первого символа, а нужно с третьего.

Использовать for нетрудно, просто думал, что такая функция реализована и не хотел изобретать велосипед.

MIV
() автор топика
Ответ на: комментарий от MIV

>не хотел изобретать велосипед.

Это никак не называется изобретать велосипед, слишком мелко.

xscrew ★★
()
Ответ на: комментарий от edigaryev

Это чудо, наверное, ещё не знает что нумерация начинается с 0, а не с единицы. Типа str[2] -> str[1] и т.д.

mikki
()
Ответ на: комментарий от xscrew

мне интересно, школьнеги совсем отупели чтоле?

сезонное

jtootf ★★★★★
()

Да, copy_chars_from_n_to_m(n, m, str[1], str[2]). В какой библиотеке не помню, сам найдешь.

anonymous
()
(loop :with src = (cffi:inc-pointer (cffi:foreign-symbol-pointer "str") 256)
      :with dest = (cffi:inc-pointer src 256)
      :for i :from (cffi:mem-ref (cffi:foreign-symbol-pointer "n") :int)
             :to (cffi:mem-ref (cffi:foreign-symbol-pointer "m") :int)
      :do (setf (cffi:mem-aref dest :char i)
                (cffi:mem-aref src :char i)))
Love5an
()

Поражает поведение некоторых людей:

Ну не можете/не хотите ответить: ИДИТЕ МИМО.

Зачем все эти реплики не о чём?

Хотя, наверное, для вас это единственный способ самоутвердиться.

Тем, кто постарался всё нормально разъяснить - спасибо.

MIV
() автор топика
Ответ на: комментарий от MIV

Поражает поведение некоторых людей:

Нет чтобы пару книжек по си посмотреть.

Или читают плебеи, «программисты» пишут?

//fixed

anonymous
()
Ответ на: комментарий от MIV

Плохо смотрел. Про указатели и memcpy в любой книге есть.

Reset ★★★★★
()

Из-за этого бреда накатали столько комментов... Одного было бы достаточно

vertexua ★★★★★
()
Ответ на: комментарий от MIV

>Я просмотрел и не нашёл, поэтому и написал сюда.

Самозабанься. А лучше - займись тем, что у тебя, возможно, хоть как-то получается - чисткой сортиров.

Led ★★★☆☆
()

МАТЧАСТЬ!

Керниган и Ритчи «Язык программирования Си».

Легко находится в Интернете. В бумажном варианте есть в библиотеке любого приличного универа. Не считая книжных магазинов, конечно же.

Короткая и без воды - все по делу. Специально на русском языке для не знающих английский. Там есть ответы на этот и все последующие ваши вопросы.

Прочитайте ее, ладно? Только тогда у вас, возможно, есть шанс не стать быдлокодером.

ntp
()

>С++ не предлагать.

предлагаю pascal :)

str[2] := copy(str[1], n, m);

а на C

*str[2] = strncpy(str[1][n-1], m-n);
str[2][m-n] = '\0'; // это если не хочешь чтобы в str[2] оставался хвост от прежнего содержимого

Attila ★★
()

for (i = n; i < m; i++) str[2][i] = str[1][i];

Вот и все. Как до этого можно не додуматься самостоятельно не представляю.

Rudcozt
()

И так подведём итоги.

Вопрос: ... Есть для этого специальная функция?

Правильный ответ: нет.

Собственно это всё, что я хотел узнать.

Реализовать это путем нескольких операций для меня не проблема, я не просил приводить ваши варианты, но всё равно спасибо.

ntp

Керниган и Ритчи «Язык программирования Си».

Легко находится в Интернете. В бумажном варианте есть в библиотеке любого приличного универа. Не считая книжных магазинов, конечно же.

Короткая и без воды - все по делу. Специально на русском языке для не знающих английский. Там есть ответы на этот и все последующие ваши вопросы.

Спасибо, именно эту книгу я и просмотрел перед тем как писать сюда, отдельной функции не нашёл. Поэтому решил спросить. Вообще сфера моей деятельности (медицина) далека от компьютеров, просто понадобилось написать маленькую програму для себя.

Остальным, уже отписавшим и продолжающим постить (если такие будут) что-то вроде: «Самозабанься. А лучше - займись тем, что у тебя, возможно, хоть как-то получается - чисткой сортиров.» - ребята, извините, но вы быдло. Можете продолжать самоутверждаться подобными репликами, если для вас других способов нет.

Я писать что-либо в этой теме больше не намерен.

MIV
() автор топика
Ответ на: комментарий от anonymous

а null в конце Пушкин добавлять будет?

Об этом в посте MIV ничего не говорится.

edigaryev ★★★★★
()

автор, забудь про программирование. иди работать слесарем-станочником!

exception13 ★★★★★
()
Ответ на: комментарий от MIV

нет. это бред. вы попросили скопировать массив байт - так и копируйте массив. memcpy для этого есть. и не кто не когда не додумается делать функцию, которая еще и смещение в нем ищет

namezys ★★★★
()

Сойдемся на

if (m > n) { 
       memcpy(str[2] + n, str[1] + n, sizeof(char)*(m - n + 1)); 
}

И хватит уже писать сюда :)

anonymous
()
Ответ на: комментарий от anonymous

> sizeof(char)

Это бессмыслица. По стандарту это выражение всегда равно 1. ;)

LamerOk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.