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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.04.2009, 18:35   #1
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию strlen,strcpy,strcmp(Visual C++)

Сдравствуйте! помогите пожалуйста с функциями...
Код:
int k_strlen(const char* s)
{	
	
	

}

void k_strcpy(char* s1, const char* s2)
{	
	
	
}

int k_strcmp(const char* s1, const char* s2)
{
	
	return 0;
}

int main()
{
	char s1[256];
	char s2[] = "test string";
	char s3[] = "test sstring";

	int n = k_strlen(s2);
	k_strcpy(s1, s2);

	int r = k_strcmp(s1, s3);

	return 0;
}
в общем нужно заполнить фун-ции strlen,strcpy,strcmp .. помогите!

Последний раз редактировалось MaTBeu; 03.04.2009 в 00:58.
crit вне форума
Старый 02.04.2009, 18:41   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Так заполняйте. Где ваши попытки?
strlen - считаете до первого нулевого символа.
strcpy - копируете посимвольно опять же, до первого нулевого символа
strcmp - посимвольно сравниваете
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.04.2009, 18:46   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Длина строки как-то так:
Код:
int k_strlen(const char* s)
{ 
	const char *p = s;
	while (*p++);
	return p - s - 1;
}
pu4koff вне форума
Старый 02.04.2009, 19:04   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну тогда strcmp:
Код:
int k_strcmp(const char* s1, const char* s2)
{
while(*s1 && *s2)
 {
  if(*s1>*s2) return 1;
  if(*s1<*s2) return -1;
  s1++; s2++;
 }
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.04.2009, 19:08   #5
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию

а зачем p???нужно узнать длину строки s2, потом скопировать s3 в s2 и сравнить....

нужно же вернуть как то n в strlen..

Последний раз редактировалось MaTBeu; 03.04.2009 в 00:59.
crit вне форума
Старый 02.04.2009, 19:15   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну и последняя:
Код:
void k_strcpy(char* s1, const char* s2)
{
while(*s1++ = *s2++);
}
Цитата:
а зачем p???нужно узнать длину строки s2, потом скопировать s3 в s2 и сравнить....
А вы сначала скомпилируйте то, что вам написали. Тогда и узнаете.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.04.2009, 19:25   #7
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию

а вывод на экран с помощью printf? что то типа printf("dlina=%d\n",s,k_strlen(s2)) ?
crit вне форума
Старый 02.04.2009, 19:28   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а вывод на экран с помощью printf?
Ну чем удобно, тем и выводите. Можно и printf

Код:
printf("n = %d\n", n);
printf("s1 = %s\n",s1);
printf("r = %d\n",r);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 02.04.2009, 20:31   #9
crit
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 121
По умолчанию

а можно вот так?
Код:
int strlen(const char *s)
{
    int n;
    for(n = 0; *s != '\0'; n++)
       s++;
    return n;
}

Последний раз редактировалось MaTBeu; 03.04.2009 в 01:00.
crit вне форума
Старый 02.04.2009, 20:35   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а можно вот так?
Так а зачем вы спрашиваете?
Скомпилируете и увидите, что можно.
Хотя мне больше нравится вариант, предложенный pu4koff.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с strcpy() TheWanderer Общие вопросы C/C++ 13 04.07.2013 03:20
FastString::FastString(const char *psz) : m_psz(new char [strlen(psz) + 1]) { strcpy(m_psz, psz); } lebedun Общие вопросы C/C++ 3 27.03.2009 03:43
не работает strcat(),strcpy() MeGaTpoH Общие вопросы C/C++ 5 25.01.2009 17:31
Объясните, как работает функция strlen() TheWanderer Общие вопросы C/C++ 9 25.11.2008 22:46
strcpy (visual c++ 6.0) JOFRIF Visual C++ 2 04.08.2008 12:19