Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2007, 14:32   #1
LinuxUser
 
Регистрация: 06.11.2007
Сообщений: 8
По умолчанию Копирование перекрывающихся строк strncpy

Прочитал в `man strncpy` что "строки не могут перекрываться". Проверил (см. код ниже), скопировав в строке "012" последнии два символа в начало, получил "122". Поидее строки перекрывались с символе '1', но копирование произошло... Может быть под совом "перекрываться" имееться ввиду что-то другое? Знающие люди, подскажите, пожалуйста.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
	{char *s=(char *)malloc(4);
	strcpy(s,"012");

	strncpy(s,&s[1],8);
	printf("%s\n",s);
	return 0;
	}
LinuxUser вне форума Ответить с цитированием
Старый 01.12.2007, 15:06   #2
n@sok
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 46
По умолчанию

Строки не должны перекрываться когда идет копирование слева направо, т.е. с меньших адресов на большие. Например:
Код:
strcpy(s,"012");
strncpy(&s[1],s,8);
n@sok вне форума Ответить с цитированием
Старый 01.12.2007, 15:46   #3
LinuxUser
 
Регистрация: 06.11.2007
Сообщений: 8
По умолчанию

n@sok, спасибо!

Кстати у меня в приведённом коде ошибка - не 8 а 2 должно быть:
strncpy(&s[1],s,2);
LinuxUser вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
Копирование строк. Правильный ли код? LinuxUser Общие вопросы C/C++ 12 06.11.2007 17:33
Сортировка в StringGrid'е, копирование строк из одного SG в другой monushka Помощь студентам 3 29.10.2007 23:54
strncpy KORT Общие вопросы C/C++ 2 11.10.2007 00:09
Копирование строк Mikola Общие вопросы Delphi 8 21.09.2007 17:21