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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2008, 19:16   #1
Padre
Новичок
Джуниор
 
Регистрация: 09.05.2008
Сообщений: 2
Вопрос [C++] Ответьте на возникшие вопросы...

Столкнулся с несколькими проблемами... Помогите...

1. Какие существуют стандартные ф-ции для работы с каталогами (создание, удаление)?

2. Есть каталог POST, который лежит вместе с .exe. Как сделать его корневым, чтобы можно было задавать в программе путь относительно него к лежащим там файлам? Как все это прописывать в программе?
Вроде бы как-то через параметы командной строки...

3. В результате в консоли ничего не выводится=( Пусто. Что не верно? Или так вообще делать нельзя?
Код:
#include <iostream.h>
#include <windows.h>
ostream& operator << (ostream& out, char* str)
{ 
     char* buf = new char [sizeof(str) + 1];
     CharToOem(str, buf);
     return out << buf;
}

int main()
{
     cout << "Меню:" << endl;
     cout << "1" << endl;
     cout << "2" << endl;
     return 0;
}
А если добавить строчку
Код:
#include <string>
то появляетя ошибка "error C2872: 'ostream' : ambiguous symbol".

4. Что не так? Ошибка "error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no acceptable conversion)".
Код:
#include <string>
#include <iostream>
namespace std {}
using namespace std;
int main()
{
     string s1 ("123");
     cout << s1;
}
5. Какая существует ф-ция для закрытия консоли (выхода из программы)?

6. Каким образом можно очистить экран консоли?
Padre вне форума Ответить с цитированием
Старый 09.05.2008, 21:41   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Значит в порядке живой очереди....
1. mkdir, rmdir, chdir и т.п. из CRT - здесь, например: http://msdn.microsoft.com/en-us/libr...ze(VS.71).aspx
Кроме того, раз уж Вы подключаете windows.h - CreateDirectory, RemoveDirectory и т.п. из Win API: http://msdn.microsoft.com/en-us/libr...50(VS.85).aspx

2. Как это так "сделать его корневым"??? Если Вы имеете в виду, как от него отталкиваться, то скажем указывая через точку (желательно) текущий каталог - ".\\DIR1\\DIR2\\FILE.EXT"

3. Ваш, с позволения сказать, "перегруженый" оператор вообще вызываться не будет - какому классу он принадлежит? А что касается C2872, то компилятору просто непонятно из какого заголовка брать ostream.

4. Что за компилятор? В VS 2003 всё работает. Как выход из положения можно предложить "cout << s1.data();".

5. Так закрытия консоли или выхода из программы? Если всё же выхода, то, например, exit, abort и... Вы не поверите... return.

6. Строго говоря - никаким. Консоль - это файл. Можете воспользоваться способом от MS: http://support.microsoft.com/kb/99261
B_N вне форума Ответить с цитированием
Старый 09.05.2008, 23:21   #3
Padre
Новичок
Джуниор
 
Регистрация: 09.05.2008
Сообщений: 2
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
5. Так закрытия консоли или выхода из программы? Если всё же выхода, то, например, exit, abort и... Вы не поверите... return.
да, это я тупнул что-то)))) прямо слишком уж...

основные проблемы с моим компилятором похоже... Visual Studio 6.0...

а так спасибо за квалифицированную помощь.
Padre вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по WEB Elm0 Свободное общение 12 20.02.2008 02:40
вопросы MAcK Win Api 7 21.07.2007 18:08