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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2014, 17:01   #1
Malriser
xor esp, esp
Форумчанин
 
Регистрация: 11.02.2014
Сообщений: 135
По умолчанию Объеденить строку с символом

всем привет. Уже сил нету.

Долго не мог понять почему софт не работает, а оказалось что он соединяет и выдает белеберду ( для дебага сделал MessageBox ).

Вот



Код

Код:
	char drives[27];
	int i = 0;
	for (char c = 'A'; c <= 'Z'; c++)
	{
		drives[i] = c;
		i++;
	}
	drives[i] = NULL;
	for (i = 0; i < 27; i++)
	{
		char szPath[MAX_PATH];
		szPath[0] = drives[i];
		MessageBox(0, szPath, szPath, 0);
	}
Вопрос: как правильно объеденить?!


Компилятор Visual Studio 2013
Malriser вне форума Ответить с цитированием
Старый 27.02.2014, 17:05   #2
Malriser
xor esp, esp
Форумчанин
 
Регистрация: 11.02.2014
Сообщений: 135
По умолчанию

Разобрался вроде бы

Код:
	char drives[27];
	int i = 0;
	for (char c = 'A'; c <= 'Z'; c++)
	{
		drives[i] = c;
		i++;
	}
	drives[i] = NULL;
	for (i = 0; i < 26; i++)
	{
		char szPath[MAX_PATH];
		for (int j = 0; j < MAX_PATH; j++) szPath[j] = NULL;
		szPath[0] = drives[i];
		lstrcat(szPath, ":\\programmersforum.ru");
		MessageBox(0, szPath, szPath, 0);
	}
Но как-то не красиво, может есть более лучший вариант?
Malriser вне форума Ответить с цитированием
Старый 27.02.2014, 17:24   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

lstrcpy(szPath + 1, ":\\....");
Я удивляюсь, что ваш вариант работает - кто поставит нолик в конец szPath?

Другой вариант
lstrcpy(szPath, "X:\\...") вне цикла и потом в цикле менять szPath[0]
waleri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 4 05.07.2012 20:27
Преобразовать эту строку, удалив из нее те символы, которые соседствуют с символом "_". Proskurina Паскаль, Turbo Pascal, PascalABC.NET 4 28.05.2012 10:55
объеденить 2 байта NEoMASTERR Общие вопросы Delphi 1 01.05.2012 12:33