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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2015, 10:04   #131
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

В вашем случае без L место ошибки изменилось.
char*, wchar_t* и string - это разные типы данных.
Читайте документацию к std::string на предмет приведения к char*/wchar_t*
waleri на форуме Ответить с цитированием
Старый 21.12.2015, 09:01   #132
Dima-91
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 198
По умолчанию

Код:
#include <stdio.h>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
#include <iostream.h>
#include <string>
#include <windows.h>
#include <Shellapi.h>

 int _tmain(int argc, _TCHAR* argv[])
{
	ifstream F;
	string s;
	wchar_t ss;
	F.open("web.txt", ios::out);
	while (!F.eof())
	{
		int k = 1;
		getline(F,s);
		if ((s != "<start>") && (s != "<end>"))
		{
			k++;
			for (int i = 5; i < s.length()-5; i++)
			{
				ss +=s[i];
			}
			ShellExecuteA(Handle, L"open", ss, 0, 0, SW_SHOWNORMAL);
			cout<<"["<<k<<"]"<<ss;
		}
	}
	system("pause");
	return 0;
}
Попытался использовать wchar_t, записав туда строку.
Ошибки:
[bcc32 Error] webm1.cpp(37): E2451 Undefined symbol 'Handle'
[bcc32 Error] webm1.cpp(37): E2034 Cannot convert 'wchar_t const[5]' to 'const char *'
[bcc32 Error] webm1.cpp(37): E2342 Type mismatch in parameter 'lpOperation' (wanted 'const char *', got 'const wchar_t *')
Dima-91 вне форума Ответить с цитированием
Старый 21.12.2015, 09:19   #133
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

wchar_t это ж один символ, не путайте с указателем wchar_t*.

В предыдущих сообщениях все написано.

Если хотите читать wstring, то берите wifstream. И зачем вы тут взяли ShellExecuteA? Он наоборот для не юникода.

Но все винапи функции принимают char*/wchar_t* поэтому смотрите в документации по std::string/std::wstring как конвертировать.

Ну а первая ошибка потому что у вас нет переменной с таким именем. Видимо код скопипасчен без чтения документации https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx из билдеровского приложения с формами, там есть такое свойство у форм. Можно просто 0 передать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что вас мотивирует, почему вы предпочитаете именно работу за компьютером, работу программиста? sgasgar Свободное общение 47 03.05.2016 07:27
Какая у вас была мотивация для начала и изучения программирования? monolit9951 Свободное общение 22 14.02.2014 19:57
Мотивация к программированию Nik_Parker Свободное общение 30 05.10.2013 19:12
Программирование, мотивация, перспективы Frants Свободное общение 6 03.10.2012 23:52