Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 188
от 08.09.2005, 14:42

Администратор:Калашников О.А.
В рассылке:Подписчиков: 192, Экспертов: 32
В номере:Вопросов: 3, Ответов: 7


Вопрос № 25715: Мой простой вопрос ставит меня и тех кого я знаю в тупик... Помогите!!! void Funkcia(char *name){ name="TEXT" + name; printf(name); }; Ошибка сразу во второй строке, отказывается компилироватся и говорит чт...
Вопрос № 25732: 1. Как написать службу для Win2k/WinXP (плиз пример с популярными комментариями) 2. Служба должна получить сообщение о том кто пытается логинется в систему и начать действовать 3. Служба должна получать сообщение о текущем времени и начать де...
Вопрос № 25748: Здрасти Как можно узнать скорость подключения интернета? Заранье благодарю ...

Вопрос № 25.715
Мой простой вопрос ставит меня и тех кого я знаю в тупик...
Помогите!!!

void Funkcia(char *name){
name="TEXT" + name;
printf(name);
};

Ошибка сразу во второй строке, отказывается компилироватся и говорит что неможет прибавить указатель.
Если оставить name="TEXT" то все конечно работает а если добавить + name то нет.
Отправлен: 02.09.2005, 18:43
Вопрос задал: DDMZ (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, DDMZ!
Ну все правильно. Для конкатенации или склейки строк нужно узать функцию strcat или strnsat. char * - указатель на начало области памяти, где лежит набор символов. И для корректной склейки строк нужно выделить достаточно памяти для результирующей строки и скопировать последовательно туда символы из исходной строки + строка, которую приклеиваем. Это все делаеют функции, которые я обозначил выше за тем лишь исключением, что strncat третьим параметром требует передавать количество байтов, на которые конечная строка увеличится. Читайте справку по stdlib, а так же руководство по С/С++.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Практикант)
Отправлен: 02.09.2005, 18:55
Оценка за ответ: 5
Комментарий оценки:
Да strcat тоже вариант...
А если делать несколько сложений строк=)

вот придумал седня другой вариант:
void Funkcia(AnsiString name){
name="TEXT" + name;
printf(name.c_str());
};

Отвечает: Raptor1
Здравствуйте, DDMZ!
Так и не должно работать, для соединения двух строк исользуй strcat
например так

void Funkcia(char *name)
{
char newname[80];
strcpy(newname,"TEXT");
if(strlen(name)<76)
strcat(newname,name)
printf(newname);
};

а еще лучше используй возможности printf, в данном случае
void Funkcia(char *name){
printf("TEXT%s",name);
};

Ответ отправил: Raptor1 (статус: 6-ой класс)
Отправлен: 03.09.2005, 09:50

Отвечает: Romodos
Здравствуйте, DDMZ!
По моему, нужно так:

void Funkcia(char *name){
char dest[300]="";
strcat(dest,name);
strcat(dest,"TEXT");
printf(dest);
}
Ну вообщем, надо юзать функцию strcat

---------
FAQ me off!
Ответ отправил: Romodos (статус: 5-ый класс)
Отправлен: 03.09.2005, 10:57

Отвечает: Rusland
Здравствуйте, DDMZ!
Для работы со строками удобно использовать String вместо char *. Удачи.
---------
Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: Студент)
Отправлен: 05.09.2005, 09:00


Вопрос № 25.732
1. Как написать службу для Win2k/WinXP (плиз пример с популярными комментариями)
2. Служба должна получить сообщение о том кто пытается логинется в систему и начать действовать
3. Служба должна получать сообщение о текущем времени и начать действовать если час Ч наступил
Отправлен: 03.09.2005, 05:51
Вопрос задал: Владислав (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sager
Здравствуйте, Владислав!
Зайди на сайт rsdn.ru там на эту тему есть много статей, особенно прочитай Управление системными службами Windows NT - там все подробно расписано и с примерами.
Ответ отправил: Sager (статус: 6-ой класс)
Отправлен: 03.09.2005, 09:08

Отвечает: Jadd
Здравствуйте, Владислав!
Была статья на www.rsdn.ru со всеми примерами. А еще есть хорошая книга, где все эти моменты хорошо описаны - "Программирование серверных приложений для Windows 2000". Читай.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Практикант)
Отправлен: 03.09.2005, 12:28


Вопрос № 25.748
Здрасти
Как можно узнать скорость подключения интернета?
Заранье благодарю
Отправлен: 03.09.2005, 11:55
Вопрос задал: Орхан Гасымов Аяз (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: __grey__
Здравствуйте, Орхан Гасымов Аяз!

Вариант для 2k/xp:
RasGetConnectionStatistics
(см. приложение).

Приложение:

Ответ отправил: __grey__ (статус: 3-ий класс)
Отправлен: 04.09.2005, 07:24


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Отписаться
Вспомнить пароль

В избранное