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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2012, 17:12   #31
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

мой вам совет, не изучайте методом тыка, порою можно такое нагородить что ппц.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.05.2012, 17:09   #32
sawyer1988
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 36
По умолчанию

А почему нельзя выводить его содержимое таким образом?

Код:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
 {
 for(i=3;i<9;i++)
 v.push_back(i);
 for(i=3;i<9;i++)
 wsprintf(szText,L" содержимое вектора: %d",v[i]);
 MessageBox(NULL,szText,L"вектор",MB_OK);
 return 0;
 }
sawyer1988 вне форума Ответить с цитированием
Старый 13.05.2012, 17:56   #33
sawyer1988
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 36
По умолчанию

а по одному элементы выводятся, видимо в цикле косяк
Код:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
 {
 for(i=3;i<9;i++)
 v.push_back(i);
 for(i=3;i<9;i++)
 wsprintf(szText,L" содержимое вектора: %d",v[4]);
 MessageBox(NULL,szText,L"вектор",MB_OK);
 return 0;
 }
sawyer1988 вне форума Ответить с цитированием
Старый 13.05.2012, 19:12   #34
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а это я бы сделал так:
Код:
#include <windows.h>
#include <vector>
#include <string>
#include <sstream>

std::wostringstream s;
std::vector<int> v;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
	for(int i=0;i<10;++i)
		v.push_back(i);
	s<<L"Размер вектора: "<<v.size()<<std::endl<<L"Cодержимое вектора: ";
	for(auto i=v.begin();i<v.end();++i)
		s<<*i<<L" ";
	MessageBox(NULL,s.str().c_str(),L"вектор",MB_OK);
	return 0;
}
wostringstream потому что wide-символы(UCS-2 в данном случае), хотя можно и на анси по старинке, но не советую.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.05.2012, 20:38   #35
sawyer1988
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 36
По умолчанию

благодарю!!
sawyer1988 вне форума Ответить с цитированием
Старый 13.05.2012, 20:47   #36
sawyer1988
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 36
По умолчанию

не, не хочет запускать ,выдаёт кучу ошибок:

например:
Код:
for(auto i=v.begin();i<v.end();++i)
пишет:
Код:
error C2440: инициализация: невозможно преобразовать 'std::_Vector_iterator<_Ty,_Alloc>' в 'int'
И такие есть:
Код:
error C2784: bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *):
sawyer1988 вне форума Ответить с цитированием
Старый 13.05.2012, 20:57   #37
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

эмм, вы работаете в MSVC++ 6.0 чтоль?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.05.2012, 20:57   #38
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

попробуйте так

Код:
for(std::vector<int>::iterator i=v.begin();i != v.end();++i)
		s<<*i<<L" ";
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 13.05.2012, 21:05   #39
sawyer1988
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 36
По умолчанию

Всё ок!Спасибо за помощь!!
А это перегрузка вывода<sstream>?
sawyer1988 вне форума Ответить с цитированием
Старый 13.05.2012, 21:07   #40
sawyer1988
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 36
По умолчанию

И последний вопрос: что это такое?
Код:
s.str().c_str()
sawyer1988 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API Win32 в ассемблере Alex_VK Помощь студентам 1 24.12.2010 02:51
win32 API.Visual Studio 2008.Создание проекта Win32 Aleksandr_Yanov Visual C++ 2 12.09.2010 13:09
Win32 API. VS2008. Как создать приложение win32 в vs2008? Aleksandr_Yanov Visual C++ 4 12.09.2010 00:59
Win32 Api revaldo666 Win Api 10 06.07.2010 00:48
Win32 Api! alexov Общие вопросы C/C++ 7 09.02.2009 22:25