Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

В вашем случае без L место ошибки изменилось.
char*, wchar_t* и string - это разные типы данных.
Читайте документацию к std::string на предмет приведения к char*/wchar_t*
waleri вне форума   Ответить с цитированием
Старый 21.12.2015, 10: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, 10:19   #133
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,449
По умолчанию

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 передать.
Alex11223 на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


15:40.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.