Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34

int->LPCTSTR && char->LPCTSTR

08.02.2012, 21:13. Показов 7025. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как преобразовать int в LPCTSTR и char в LPCTSTR?

Добавлено через 54 минуты
Для int делаю так:
C++
1
2
3
int number = 7;
CString text;
text.Format("%d", number);
но высвечивается ошибка на точке, между text и Format:
"Отсутствуют экземпляры перегруженная функция "ATL::CStringT ..."
Что нужно сделать чтобы не было ошибки?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2012, 21:13
Ответы с готовыми решениями:

Cannot convert parameter 1 from 'const char [48]' to 'LPCTSTR'
Кто может помочь в решении следующего вопроса. Недавно начал изучать программирование на С++ в Visual Studio и сразу столкнулся с...

Невозможно преобразовать параметр из 'const char [7]' в 'LPCTSTR'
Здравствуйте! Я совсем недавно начал изучать С++. По большей степени ничего пока не знаю :- // HeiDlg.cpp : файл реализации // ...

Ошибка 1 error C2664: CFileFind::FindFile: невозможно преобразовать параметр 1 из 'const char [7]' в 'LPCTSTR'
Нужно вывести на экран, в консольном режиме имена всех файлов, которые находятся в какой-то папке... Вот код: #include...

17
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 14:25
Цитата Сообщение от defi Посмотреть сообщение
Что нужно сделать чтобы не было ошибки?
- подключить
C
1
2
3
4
5
6
7
#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include <afxdisp.h>        // MFC Automation classes
#include <afxdtctl.h>       // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>         // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
хотя думаю и afxwin.h хватит...

Добавлено через 3 минуты
defi, хотя может проблемма глубже, тогда стоит попробовать что нибудь типа
text.FormatA("%d", number);//сейчас проверю отпишусь

Просто не зная того что у тебя в хедерах мои посты - гадание на кофейной гуще, т.к. приведенный тобой код 100% корректен.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 14:40
defi, мне кажется я понял CString это MFC-ный класс, поэтому нужно выставить в настройках проекта поддержку библиотек MFC : Use MFC in a shared DLL
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <afxwin.h>
#include <iostream>
using namespace std;
 
int main()
{
    int val  = 7;
    char s[] = "BINGO";
    CString str;
    str.Format("%d\n%s",val,s);
    cout<<str.GetBuffer(str.GetLength())<<endl;
    system("pause");
    return 0;
}
Миниатюры
int->LPCTSTR && char->LPCTSTR   int->LPCTSTR && char->LPCTSTR  
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
09.02.2012, 15:09

C++
1
2
3
4
5
6
#include <atlstr.h>
 
.....
    int number = 7;
    CString text; 
    text.Format(_T("%d"), number);
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34
09.02.2012, 17:41  [ТС]
-=ЮрА=-, У меня Visual 2010 и опция "Использовать MFC в общей DLL" была включена по умолчанию.
Этот код всё равно выдаёт ошибку на точке между text и Format и ещё добавилась в text, которая находится в MessageBoxA, выдаёт ошибку: "не существует подходящей функции преобразования CString в LPCSTR", пробовал c_str ничего не вышло.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "MAIN_MFC.h"
#include "MAIN_MFCDlg.h"
#include "afxdialogex.h"
 
#include <atlstr.h>
#include <afxwin.h>
#include <iostream>
 
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
 
void CMAIN_MFCDlg::OnBnClickedButton1()
{
int number = 7;
CString text;
text.Format("%d", number);
 
MessageBoxA(NULL, text, (LPCSTR)"caption", MB_OK);
}
CheshireCat, твой код тоже не работает, но на точке уже ошибка не высвечивается, а только в MessageBoxA на text, если смотреть в коде который написан выше.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 17:50
Цитата Сообщение от defi Посмотреть сообщение
#include "stdafx.h"
#include "MAIN_MFC.h"
#include "MAIN_MFCDlg.h"
#include "afxdialogex.h"
- тут уже и так есть
Цитата Сообщение от defi Посмотреть сообщение
afxwin.h
Как я понял пишем обработчик нажатия кнопки

Цитата Сообщение от defi Посмотреть сообщение
MessageBoxA(NULL, text, (LPCSTR)"caption", MB_OK);
Вот так запиши и будет тебе счастье...
C
1
MessageBoxA(NULL, text.GetBuffer(text.GetLength()), "caption", MB_OK);
Добавлено через 1 минуту
defi, вечером оттестирую в 2008-й, сейчас кроме 6-ки под рукой ничего нет
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
09.02.2012, 17:54
Да не надо там никаких MessageBoxA, просто пиши MessageBox и используй макрос _T(), а система уже сама разберется. Причина, судя по всему, в том, что у тебя проект с настройками по умолчанию для UNICODE, а строки ты передаешь в ANSI.
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34
09.02.2012, 18:12  [ТС]
[B]-=ЮрА=-, теперь в message на text пишется вот такая ошибка: " LPWSTR несовместим с параметром LPCSTR", на самой точке без изменений.
Подскажите, а в настройках что лучше выставить в набор символов, "использовать набор символов Юникода", "использовать многобайтовую кодировку" или "не задано". И при каких настройках нужно использовать _T().
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 18:17
defi, подожди пару часов приеду с работы сделаю тебе проект, проблемма скорее всего в настройках проекта, впринципе раз уж
Цитата Сообщение от defi Посмотреть сообщение
CheshireCat, твой код тоже не работает, но на точке уже ошибка не высвечивается
тогда сделай вот так
C
1
2
3
4
5
6
7
8
9
void CMAIN_MFCDlg::OnBnClickedButton1()
{
int number = 7;
CString text;
text.Format(_T("%d"), number);
 
MessageBoxA(NULL, _T(text.GetBuffer(text.GetLength())), _T("caption"), MB_OK);
MessageBoxA(NULL, _T(text), _T("caption"), MB_OK);//пробуй один из этих вариантов
}
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34
09.02.2012, 18:27  [ТС]
Теперь в этих двух вариантах на _T высвечивается: "идентификатор Ltext не определён".
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 18:58
Цитата Сообщение от defi Посмотреть сообщение
Теперь в этих двух вариантах на _T высвечивается: "идентификатор Ltext не определён".
- я писал быстро и не заметил что А осталось

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
MessageBoxA(NULL, _T(text), _T("caption"), MB_OK);
- без неё попробуй оба варианта

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
MessageBoxA(NULL, _T(text.GetBuffer(text.GetLength())), _T("caption"), MB_OK);
MessageBoxA(NULL, _T(text), _T("caption"), MB_OK);//пробуй один из этих вариантов
}
PS:Лучше выложи проект целиком
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34
09.02.2012, 19:43  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
void CMAIN_MFCDlg::OnBnClickedButton1()
{   
    int number = 7;
    CString text;
    text.Format("%d", number);
 
 
    MessageBox(NULL, _T(text), _T("caption"), MB_OK);
    MessageBox(NULL, _T(text.GetBuffer(text.GetLength())), _T("caption"), MB_OK);
    
    // TODO: добавьте свой код обработчика уведомлений
}
результат тот же.

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
PS:Лучше выложи проект целиком
В смысле все заархивированные файлы из которых собран этот проект?

P.S. Мне кажется что дело в этой точке text.Format("%d", number);,
которая выдаёт ошибку " 1 IntelliSense: отсутствуют экземпляры перегруженная функция "ATL::CStringT<BaseType, StringTraits>::Format [с BaseType=wchar_t, StringTraits=StrTraitMFC_DLL<wchar_t, ATL::ChTraitsCRT<wchar_t>>]", соответствующие списку аргументов e:\main\c++\main_mfc\main_mfc\main_mfcdl g.cpp 163
"


Добавлено через 25 минут
проект в rar весит 50Mb.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
09.02.2012, 20:47
Твой код должен выглядеть следующим образом:
C++
1
2
3
4
5
6
7
8
void CMAIN_MFCDlg::OnBnClickedButton1()
{       
        int number = 7;
        CString text;
        text.Format("%d", number);
 
        ::MessageBox(NULL, text, _T("caption"), MB_OK);
}
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 21:22
defi, CheshireCat, В MFC MessageBox перегружен для CDialog и HWND параметр выброшен, так как бокс привзывается к окну!А если хотим API-ный вариант юзать нужно extern задействовать Как я сразу такой лажи с MessageBox в коде не заметил диву даюсь!
Ниже рабочий проект в VS2008

Цитата Сообщение от defi Посмотреть сообщение
проект в rar весит 50Mb.
- потому что из проекта нужно выбрасывать InteleganceDataBase и папки Debug с Release и всё будет весить пару клобайт, как у меня...
Миниатюры
int->LPCTSTR && char->LPCTSTR   int->LPCTSTR && char->LPCTSTR  
Вложения
Тип файла: rar MsgBox_VS_2008_proj.rar (11.2 Кб, 10 просмотров)
1
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34
09.02.2012, 22:14  [ТС]
-=ЮрА=-, твой код у меня работает, исправь plz мой проект, и напиши что ты в нём исправил. Заранее спасибо!
Вложения
Тип файла: rar msg.rar (128.4 Кб, 12 просмотров)
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34
09.02.2012, 23:22  [ТС]
или хотя-бы напиши что нужно исправить, а то я так и не понял.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
09.02.2012, 23:28
defi, я завтра займусь,сегодня уже спать надо...
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
10.02.2012, 10:40
Цитата Сообщение от defi Посмотреть сообщение
или хотя-бы напиши что нужно исправить, а то я так и не понял.
- да ничего там исправлять не надо, просто выставь в свойствах проекта Multy-Byte characters set и пользуйся обычными char-ами и т.д.(см скрин) Детальней проект рассмотреть не могу - у меня 9-ка и 6-ка, твой проект в 10-ке, но по коду и rc-шнику понял, что у тебя на окне всего 3 кнопки
2 дефалтные и одна твоя
C
1
2
3
4
5
6
BEGIN
    DEFPUSHBUTTON   "ОК",IDOK,209,179,50,14
    PUSHBUTTON      "Отмена",IDCANCEL,263,179,50,14
    CTEXT           "TODO: Разместите здесь элементы управления диалоговым окном.",IDC_STATIC,10,96,300,8
    PUSHBUTTON      "Button1",IDC_BUTTON1,25,68,72,22
END
- код тоже 3 строки, там нечего править
C
1
2
3
4
5
6
7
8
9
void CMAIN_MFCDlg::OnBnClickedButton1()
{   
    // TODO: Add extra validation here
    int n = 7;
    CString text;
    text.Format("%d\nА я считаю что программа должна выгледеть так!",n);
    MessageBox(text,"Тайтл бокса",MB_OK);
    //CDialog::OnOK();
}
Отдельно об этом //CDialog::OnOK(); Я просто поставил обработчик на кнопку ОК, а закоментил //CDialog::OnOK();, чтобы проект не закрывался при нажатии Enter в окне диалога, не надо єту строку переносить в другие обработчики, она там не нужна.

PS:По поводу проги о которой спрашивал - эта программа называется StatBar(очень удобная и полезная утилитка). Её необходимо настраивать, как скачаешь пиши в раздел форума об ОС, я покажу скринами как её настраивать и какие индикаторы где спрятаны...
Миниатюры
int->LPCTSTR && char->LPCTSTR  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.02.2012, 10:40
Помогаю со студенческими работами здесь

int->LPCSTR && char->LPCSTR
Подскажите как преобразовать int в LPCTSTR и char в LPCTSTR?

VS 2010 Express Edition && (MFC && ATL(WTL)) ???
Здравствуйте Смогу ли я воспользоваться Легально MFC и ATL(WTL) библиатеками в VS 2010 Express Edition ? Или эти библиотеки...

LPCTSTR в 'VC 2010' и 'VC 6'
Всем привет. Может кто сталкивался и поможет. В DLL есть функция следующего вида: XCOpen(HANDLE &amp;hCom,LPCTSTR lsCfgFile,LPCTSTR...

Преобразование size_t к LPCTSTR
Такой вопрос: возможно ли преобразовать size_t к LPCTSTR и сделать число строкой? Функцией wcslen считаю количество символов в строке...

Нужна помощь с LPCTSTR
int _tmain( int argc, _TCHAR* argv) { bool result; DWORD lpNumberOfBytesRead; char buf; DWORD Code; LPCTSTR str; LPCTSTR...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru