Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 1
Регистрация: 27.03.2013
Сообщений: 57

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

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

Студворк — интернет-сервис помощи студентам
Не знаю как перевести массив char[] в переменную char*
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2013, 16:58
Ответы с готовыми решениями:

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

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

Как перевести массив int в массив char
Как перевести массив int в массив char нужна помощь

35
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:08
Студворк — интернет-сервис помощи студентам
C++
1
2
file = fopen("test.txt", "w+");
                fprintf(file, "%s\n", szModName);
Не хочет(

Добавлено через 17 секунд
Code
1
C
Результат.
0
496 / 11 / 6
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:18
Странно этот код , и оба варианта в нем отлично пишут
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
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:21
hProcess,(HINSTANCE)hMods[i], szModName,(MAX_PATH-1)*sizeof(TCHAR)))
У меня эта строка по другому выглядит.
0
496 / 11 / 6
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:23
Ну так пишет у вас или нет?
0
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:24
Code
1
Ошибка    4   error C2664: std::basic_ostream<_Elem,_Traits>::write: невозможно преобразовать параметр 1 из "TCHAR [260]" в "const char *"  g:\launcher__1\consoleapplication1\consoleapplication1.cpp  104 1   ConsoleApplication1
Вот такая ошибка с вашим кодом.
0
496 / 11 / 6
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:24
C++
1
outfile.write(&szModName[0], strlen(&szModName[0]));
И еще уберите в настройках поддержку Unicode
1
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:26
Code
1
                outfile.write(&szModName[0], strlen(&szModName[0]));
Code
1
Ошибка    4   error C2664: std::basic_ostream<_Elem,_Traits>::write: невозможно преобразовать параметр 1 из "TCHAR *" в "const char *"  g:\launcher__1\consoleapplication1\consoleapplication1.cpp  116 1   ConsoleApplication1
0
496 / 11 / 6
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:29
Если уж пишете для Unicode так везде
C++
1
2
std::wofstream outfile;
lstrlenW(&szModName[0]) //вместо strlen
1
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:34
Ничего не пишет. Если удалить файл то создаёт пустой. В консоли по прежнему всё нормально.

Добавлено через 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
496 / 11 / 6
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:35
Вместо 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
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:37
Я безнадёжен, док) Спасибо огромное!
0
496 / 11 / 6
Регистрация: 10.04.2013
Сообщений: 44
13.04.2013, 18:38
В настройках компилятора слейдующий раз смотрите какую кодировку используете. std::ofstream для ASCII символов, он понимал ваш TCHAR как число и писал его в файл.
0
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
13.04.2013, 18:39
Я свято верю и надеюсь что больше к С++ не вернусь =)
0
0 / 0 / 1
Регистрация: 27.03.2013
Сообщений: 57
13.04.2013, 23:52  [ТС]
Цитата Сообщение от phantom96 Посмотреть сообщение
Ок, что надо поменять чтобы вся строка в char превратилась? Вот выдаёт мне szModName путь до модуля в процесее, а только букву вытащить могу..(
Не совсем понимаю...чего тебе нужно?
0
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
14.04.2013, 00:51
Всё что нужно было уже подсказали, длл запакована и успешно контактирует с C#)
0
 Аватар для AnyOne697
134 / 106 / 10
Регистрация: 22.05.2010
Сообщений: 533
14.04.2013, 03:21
Цитата Сообщение от phantom96 Посмотреть сообщение
Мне бы вас ещё понимать... Какой указатель?((
Просто оставлю это здесь.
А лучше читаем что-то вроде этого.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2013, 03:21
Помогаю со студенческими работами здесь

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

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор не посылает куда подальше. Нет он конечно...

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

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

Как присвоить к новой char переменной другую char переменную с указателем
Как присвоить к новой char переменной другую char переменную с указателем #include&lt;iostream&gt; int main() { using namespace...


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru