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

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


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

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

Выпуск № 434
от 11.06.2006, 23:35

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


Вопрос № 45356: Уважаемые Эксперты, после ваших замечаний я решил переформулировать вопрос, разъясните пожалуйста каким образом можно использовать переменные строкового типа в классах: т.е. имеется ввиду как правильно объявить переменную такого типа в класс...
Вопрос № 45396: Здравствуйте господа эксперты! Возникла проблема работы со строками типа AnsiStrig. Нужно определить длину строки и сравнить каждый элемент строки с символом "]". При нахождении запомнить позицию и выйти из цикла. Так вот оргазнизовать цикл...
Вопрос № 45422: Доброго времени суток.... у меня такая проблема, есть проэкт в котором используется DirectX, пишу в Visual C++ 6.0 далее: //// #include <ddraw.h> extern LPDIRECTDRAW7 pDD; ////// и компилятор выдает ошибку...

Вопрос № 45.356
Уважаемые Эксперты, после ваших замечаний я решил переформулировать вопрос, разъясните пожалуйста каким образом можно использовать переменные строкового типа в классах:

т.е. имеется ввиду как правильно объявить переменную такого типа в классе, далее каким образом можно объявить процедуру или функцию для ввода/вывода такой переменной в классе.

Вот привожу пример, в нем у меня вводиться/выводиться вещественная переменная, но у меня не получается по аналогии работать со строками.

Если можно на моем ПРИМЕРЕ покажите как это делается (использую Turbo C++).

И дайте пожалуста ссылки на ТЕОРИЮ как правильно работать в С++ со строками. Я имею ввиду разъясните мне что такое "указатель" и "ссылка" на ПРИМЕРЕ строк.

Приложение:

Отправлен: 06.06.2006, 11:18
Вопрос задал: Gh0stik (статус: Студент)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: gitter
Здравствуйте, Gh0stik!
Насколько я понял, Вас интересуют следующие примеры:
char stroka[]="моя строка";
char* pStroka;
pStroka=new char[50];
strcpy(pStoka,"ещё одна строка");
char stroka[255];
scanf("%s",stroka);

Теорию по работе со строками можно прочитать в любой книге по C
начиная с Кернигана и Ричи и обычных учебников и заканчивая Страуструпом.
Эти и другие книги найдёте по ссылке http://anatolix.naumen.ru/oldsite/cppbooks.htm
Ответ отправил: gitter (статус: 3-ий класс)
Ответ отправлен: 06.06.2006, 11:47
Оценка за ответ: 4
Комментарий оценки:
Спасибо за ссылку на литературу. Но хотелось бы увидеть как строки вводить с клавиатуры а не работать с уже определенными...


Вопрос № 45.396
Здравствуйте господа эксперты! Возникла проблема работы со строками типа AnsiStrig. Нужно определить длину строки и сравнить каждый элемент строки с символом "]". При нахождении запомнить позицию и выйти из цикла. Так вот оргазнизовать цикл не вопрос. Проблема вычилить длину строки :-). С типом char работать как знаю... но специфика такая что требует AnsiString. Может подскажите в какую сторону копать или ссылочку на ресурсы где можно почитать как с ним работать. С уважением XPYCT!

Приложение:

Отправлен: 06.06.2006, 15:36
Вопрос задал: Кныш Александр Александрович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: gitter
Здравствуйте, Кныш Александр Александрович!
Длина строки вычисляется с помощью вызова функции Length()
т.о. второй цикл имеет вид:

int length=tempstr.Length()
for (int i=0; i<length; i++)
if (tempstr[i]==']') npos=i;
Ответ отправил: gitter (статус: 3-ий класс)
Ответ отправлен: 06.06.2006, 16:27

Отвечает: Santana
Здравствуйте, Кныш Александр Александрович!
AnsiString aStr;

//Вот тебе длина
aStr->Length();

//а это вернет позицию символа или 0 ежели такого нет
aStr->Pos("]");
Ответ отправил: Santana (статус: 3-ий класс)
Ответ отправлен: 06.06.2006, 17:34

Отвечает: MiCumi - Acpx
Здравствуйте, Кныш Александр Александрович!
Цикл нужно на 1 меньше ставить. от 0 до ленгс -1
любишь с чаром пробуй .c_str(); и strlen(name_)
---------
Познать все и стать одним из лучших.
Ответ отправил: MiCumi - Acpx (статус: 1-ый класс)
Ответ отправлен: 07.06.2006, 14:14


Вопрос № 45.422
Доброго времени суток....

у меня такая проблема, есть проэкт в котором используется DirectX, пишу в Visual C++ 6.0
далее:
////
#include <ddraw.h>

extern LPDIRECTDRAW7 pDD;
//////
и компилятор выдает ошибку :
error C2146: syntax error : missing ';' before identifier 'pDD'
fatal error C1004: unexpected end of file found

даже если проэкт, у кого-то нормально работает то у меня нет, подскажите, может у меня гдето файлов не хватает или компилятор такой больной....
Отправлен: 06.06.2006, 19:39
Вопрос задал: Баркин Алексей (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Решетник Д
Здравствуйте, Баркин Алексей!
рискну заметить, что есть вероятность того, что у Вас установлены заголовки старой версии DirectX..
т.к. LPDIRECTDRAW7 нет, а есть LPDIRECTDRAW во включенном Вами заголовке.
может это то, что Вам нужно.

Но если у кого-то нормально работает, значит у Вас старая версия заголовков.

---------
Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 8-ой класс)
Ответ отправлен: 06.06.2006, 22:04


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное