0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 34

int->LPCTSTR && char->LPCTSTR

08.02.2012, 21:13. Показов 7050. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru