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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2012, 23:14   #1
Chelovekpredel
Пользователь
 
Регистрация: 31.03.2012
Сообщений: 33
По умолчанию Указатели. Склеивание строк. Си

Наткнулся на задачку склеивания строк при помощи указателей. Ну мне показалось, что написать код не составит труда, однако я ошибся.
Код:
#include "stdafx.h"
#include <stdio.h>

void strcat(char *s,char *t);
int _tmain(int argc, _TCHAR* argv[])
{
	char *s;
	char *t;
	char c;
	while ((c=getchar())!='\n')
		*s++=c;
	*s='\0';
	while ((c=getchar())!='\n')
		*t++=c;
	*t='\0';
	strcat(s,t);
	getchar();
	return 0;
}

void strcat(char *s, char *t)
{
	while (*s++!='\0')
		;
	for (; *t!='\0';t++,s++)
		*s=*t;
	*s='\0';
	printf("%s\n",*s);
}
Помогите, пожалуйста, разобраться в чем дело.
Заранее спасибо.
Chelovekpredel вне форума Ответить с цитированием
Старый 05.07.2012, 07:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Уй-юй-юй... А где память выделяется для переменных?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.07.2012, 14:37   #3
Chelovekpredel
Пользователь
 
Регистрация: 31.03.2012
Сообщений: 33
По умолчанию

Как это сделать?
Chelovekpredel вне форума Ответить с цитированием
Старый 05.07.2012, 21:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Та даже не знаю... Ты ведь скажешь что вводимая строка неизвестной длины...
Возможно ли использовать string?
если да то что-то вроде такого:
Код:
 string ss="";
	while ((c=getchar())!='\n') ss+=c;
Хотя вот с дописыванием символа в строку нужно в хелпе посмотреть, возможно нет для string оператора +=
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.07.2012, 21:16   #5
Chelovekpredel
Пользователь
 
Регистрация: 31.03.2012
Сообщений: 33
По умолчанию

вообще про выделение памяти ничего не говорилось, поэтому мне кажется, что не нужно.
В си нет типа Стринг(
Chelovekpredel вне форума Ответить с цитированием
Старый 05.07.2012, 21:28   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
поэтому мне кажется, что не нужно.
Тогда печалька. Ты заранее должен указать размер вводимой строки, или вводить порциями по (скажем) 100 символов к примеру в некий динамический список, а после уже получив длину можно попробовать и склейку из списка.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Склеивание массивов alexprey Общие вопросы Delphi 3 19.08.2011 13:28
Склеивание фотографии Кинельски Мультимедиа в Delphi 8 01.06.2010 02:30
Помогите решить задачу ан тему: Указатели, строки, функции обработки строк Chel Общие вопросы C/C++ 3 11.10.2009 19:48
склеивание Dimarik Общие вопросы C/C++ 3 15.09.2009 13:58
Склеивание звуков varvara16 Мультимедиа в Delphi 24 14.11.2008 18:24