С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
DiViLoYs
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 57
#1

Как перевести массив char[] в char* - C++

13.04.2013, 16:58. Просмотров 1848. Ответов 35
Метки нет (Все метки)

Не знаю как перевести массив char[] в переменную char*
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 16:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перевести массив char[] в char* (C++):

Как перевести из char** в char*? - C++
Первый символ каждой строчки char** нужно проверить на условие, как это сделать? Наверное всё очень просто, но ответ на форуме и за его...

Как массив char[4] перевести в unsigned int? - C++
Есть массив из 4х char символов (4-е байта), нужно его перевести в unsigned int. Я сделал втупую: unsigned int B=0; ...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Перевести массив char в переменную string - C++
Помогите перевести массив char в переменную string

Запись строки char в массив char - C++
Глупый вопрос, но что поделать, многое забыл... Хочу записть строку типа char в массив строк типа char, но выдает ошибку что "невозможно...

есть массив char. есть строка string. как присвоить значению string-a значение char-a? - C++
есть массив char. есть строка string. как присвоить значению string-a значение char-a?

35
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 214
13.04.2013, 17:52 #16
C++
1
outfile << szModName;
Так пробовал?
0
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 17:53 #17
Код
0014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D5580014D558
От <<szModName
0
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 214
13.04.2013, 17:54 #18
А в консоль оно что выводит?
0
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 17:56 #19
В консоль всё прекрасно выводит.

Добавлено через 19 секунд
Код
E:\COD4\iw3mp.exe
C:\Windows\SysWOW64\ntdll.dll
C:\Windows\syswow64\kernel32.dll
C:\Windows\syswow64\KERNELBASE.dll
C:\Windows\system32\WINMM.dll
C:\Windows\syswow64\msvcrt.dll
C:\Windows\syswow64\USER32.dll
C:\Windows\syswow64\GDI32.dll
C:\Windows\syswow64\LPK.dll
C:\Windows\syswow64\USP10.dll
C:\Windows\syswow64\ADVAPI32.dll
C:\Windows\SysWOW64\sechost.dll
C:\Windows\syswow64\RPCRT4.dll
C:\Windows\syswow64\SspiCli.dll
C:\Windows\syswow64\CRYPTBASE.dll
C:\Windows\system32\WSOCK32.dll
C:\Windows\syswow64\WS2_32.dll
C:\Windows\syswow64\NSI.dll
E:\COD4\mss32.dll
E:\COD4\binkw32.dll
C:\Windows\system32\d3d9.dll
C:\Windows\system32\VERSION.dll
C:\Windows\system32\d3d8thk.dll
C:\Windows\system32\dwmapi.dll
C:\Windows\system32\d3dx9_34.dll
C:\Windows\system32\DSOUND.dll
C:\Windows\syswow64\ole32.dll
C:\Windows\system32\POWRPROF.dll
C:\Windows\syswow64\SETUPAPI.dll
C:\Windows\syswow64\CFGMGR32.dll
C:\Windows\syswow64\OLEAUT32.dll
C:\Windows\syswow64\DEVOBJ.dll
C:\Windows\syswow64\SHELL32.dll
C:\Windows\syswow64\SHLWAPI.dll
C:\Windows\system32\DDRAW.dll
C:\Windows\system32\DCIMAN32.dll
C:\Windows\system32\IMM32.DLL
C:\Windows\syswow64\MSCTF.dll
C:\Windows\system32\uxtheme.dll
C:\Windows\system32\mswsock.dll
C:\Windows\System32\wshtcpip.dll
C:\Windows\system32\NLAapi.dll
C:\Windows\system32\napinsp.dll
C:\Windows\system32\pnrpnsp.dll
C:\Windows\system32\DNSAPI.dll
C:\Windows\System32\winrnr.dll
C:\Windows\system32\wshbth.dll
C:\Windows\system32\IPHLPAPI.DLL
C:\Windows\system32\WINNSI.DLL
C:\Windows\System32\fwpuclnt.dll
C:\Windows\system32\rasadhlp.dll
C:\Windows\syswow64\CLBCatQ.DLL
C:\Windows\System32\MMDevApi.dll
C:\Windows\System32\PROPSYS.dll
C:\Windows\system32\AUDIOSES.DLL
E:\COD4\miles\mssmp3.asi
E:\COD4\miles\mssvoice.asi
E:\COD4\miles\milesEq.flt
E:\COD4\miles\mssds3d.flt
E:\COD4\miles\mssdsp.flt
E:\COD4\miles\msseax.flt
C:\Windows\system32\avrt.dll
C:\Windows\system32\nvd3dum.dll
C:\Windows\syswow64\PSAPI.DLL
C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvSCPAPI.dll
C:\Windows\system32\wdmaud.drv
C:\Windows\system32\ksuser.dll
C:\Windows\system32\msacm32.drv
C:\Windows\system32\MSACM32.dll
C:\Windows\system32\midimap.dll
E:\COD4\pb\pbcl.dll
C:\Windows\system32\profapi.dll
C:\Users\phantom96\AppData\Local\PunkBuster\COD4\pb\pbag.dll
E:\COD4\pb\pbsv.dll
C:\Windows\system32\nvapi.dll
C:\Windows\syswow64\WINTRUST.dll
C:\Windows\syswow64\CRYPT32.dll
C:\Windows\syswow64\MSASN1.dll
Для продолжения нажмите любую клавишу . . .
0
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 214
13.04.2013, 17:57 #20
Пиши в файл с помощью fprintf().
0
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:08 #21
C++
1
2
file = fopen("test.txt", "w+");
                fprintf(file, "%s\n", szModName);
Не хочет(

Добавлено через 17 секунд
Код
C
Результат.
0
w8me
496 / 11 / 1
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:18 #22
Странно этот код , и оба варианта в нем отлично пишут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    HANDLE hProcess = GetCurrentProcess();
    DWORD cbNeeded=0;
    HMODULE hMods[100];
    int i;
    if( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
    {
        for ( i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
        {
            TCHAR szModName[MAX_PATH];
            if ( GetModuleFileNameEx( hProcess,(HINSTANCE)hMods[i], szModName,(MAX_PATH-1)*sizeof(TCHAR)))
            {
                _tprintf( TEXT("%s\n"), szModName); 
                std::ofstream outfile;
 
                outfile.open("test.txt", std::ios::out | std::ios::app);
            //  outfile << szModName; 
                outfile.write(szModName, strlen(szModName));
                outfile.close();    
            }                       
        }
    }
0
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:21 #23
hProcess,(HINSTANCE)hMods[i], szModName,(MAX_PATH-1)*sizeof(TCHAR)))
У меня эта строка по другому выглядит.
0
w8me
496 / 11 / 1
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:23 #24
Ну так пишет у вас или нет?
0
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:24 #25
Код
Ошибка	4	error C2664: std::basic_ostream<_Elem,_Traits>::write: невозможно преобразовать параметр 1 из "TCHAR [260]" в "const char *"	g:\launcher__1\consoleapplication1\consoleapplication1.cpp	104	1	ConsoleApplication1
Вот такая ошибка с вашим кодом.
0
w8me
496 / 11 / 1
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:24 #26
C++
1
outfile.write(&szModName[0], strlen(&szModName[0]));
И еще уберите в настройках поддержку Unicode
1
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:26 #27
Код
                outfile.write(&szModName[0], strlen(&szModName[0]));
Код
Ошибка	4	error C2664: std::basic_ostream<_Elem,_Traits>::write: невозможно преобразовать параметр 1 из "TCHAR *" в "const char *"	g:\launcher__1\consoleapplication1\consoleapplication1.cpp	116	1	ConsoleApplication1
0
w8me
496 / 11 / 1
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:29 #28
Если уж пишете для Unicode так везде
C++
1
2
std::wofstream outfile;
lstrlenW(&szModName[0]) //вместо strlen
1
phantom96
MЫW
124 / 109 / 1
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:34 #29
Ничего не пишет. Если удалить файл то создаёт пустой. В консоли по прежнему всё нормально.

Добавлено через 3 минуты
C++
1
2
3
4
5
                                _tprintf( TEXT("%s\n"), szModName); 
                
                std::wofstream outfile;
                outfile.open("test.txt", std::ios::out | std::ios::app);              
                lstrlenW(&szModName[0]); //вместо strlen
0
w8me
496 / 11 / 1
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:35 #30
Вместо strlen , а не всей ф-ии.
C++
1
2
3
4
5
6
                _tprintf( TEXT("%s\n"), szModName); 
                std::wofstream outfile;
 
                outfile.open(_T("test.txt"), std::ios::out | std::ios::app);
                outfile.write(&szModName[0], lstrlenW(&szModName[0]));
                outfile.close();
1
13.04.2013, 18:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 18:35
Привет! Вот еще темы с ответами:

Как перевести double в char? - C++
как перевести double в char?

Как перевести string в char* ? - C++
Проблема с приведением этих типов. Заголовочный файл string подключен. Пробовал приводить ко многим типам, в том числе: char*, char, const...

Как перевести string в char? - C++
В общем есть получение пути до файла из командной строки. Выглядит например так: C\324324\dedded\dddd.txt char sentence; ...

Как перевести из char в int? - C++
нужно присвоить значение массива char A в int B, например B=A, но выбивает ошибку, пробовал B=atoi(&amp;A); но выбивает другое число


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.