Вопрос № 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!
Отвечает: 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
даже если проэкт, у кого-то нормально работает то у меня нет, подскажите, может у меня гдето файлов не хватает или компилятор такой больной....
Отвечает: Решетник Д
Здравствуйте, Баркин Алексей!
рискну заметить, что есть вероятность того, что у Вас установлены заголовки старой версии DirectX..
т.к. LPDIRECTDRAW7 нет, а есть LPDIRECTDRAW во включенном Вами заголовке.
может это то, что Вам нужно.
Но если у кого-то нормально работает, значит у Вас старая версия заголовков.
--------- Жизнь коротка, чтобы писать на ассемблере
Ответ отправил: Решетник Д (статус: 8-ой класс)
Ответ отправлен: 06.06.2006, 22:04