Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313

Ошибка в char

01.01.2011, 16:36. Показов 856. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю программу. Одна из функций - открытие заданого файла:

C++
1
2
3
char *aud="magazine/"+ThisClass.c_str()+".xls";
        char *path="magazine/";
        ShellExecute(NULL,NULL,aud,path,NULL,SW_SHOW);
ThisClass типа AnsiString.
Но при компиляции в первой строке ошибка "invalid pointer addition". Подскажите, какую мелочь надо исправить???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.01.2011, 16:36
Ответы с готовыми решениями:

DLL, ошибка Cannot convert 'char *' to 'char'
подключал dll по примеру https://www.cyberforum.ru/cpp-builder/thread154847.html // определяем тип "указатель на функцию" typedef...

Ошибка: "char *concat(char *,.)": невозможно преобразовать аргумент 1 из "const char [4]" в "char *"
делал задание, но на строке 36 строке пишет, что "char *concat(char *,...)": невозможно преобразовать аргумент 1 из "const char "...

Ошибка в cannot convert char * to char вроде поправил теперь выводит ересь(
Всем доброго дня! У меня такая проблемка.... написал программу, но сначала она ругалась на Cannot convert char* to char теперь вроде...

9
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
01.01.2011, 21:38
Алексaндр, название темы интересное:
Ошибка в char
Ошибок в char НЕТ. В этом я вас уверяю.
Ошибка в том, что вы не понимаете, что пытаетесь сделать (с точки зрения компилятора).
Метод c_str возвращает указатель на временный массив.
Теперь посмотрите в отладчике (или в литературе) какую гадость вы просите сделать и сразу поймёте, что так нельзя.
Для копирования содержимого используйте функцию strcpy, а для конкатенации - strcat. Примеры использования как первой, так и второй функции я приводил уже много раз на данном форуме. Используйте поиск.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.01.2011, 23:12
Цитата Сообщение от Алексaндр Посмотреть сообщение
C++
1
2
3
char *aud="magazine/"+ThisClass.c_str()+".xls";
        char *path="magazine/";
        ShellExecute(NULL,NULL,aud,path,NULL,SW_SHOW);
- Таким образом - /" - вы экранируете " , а не указываете путь, попробуйте
C++
1
"magazine//"+ThisClass.c_str()+".xls";
, надеюсь, причина ошибки понятна -
C++
1
char *aud="magazine/"+ThisClass.c_str()+".xls";
- в таком виде компилер не воспринимает + как конкатенацию строки.
0
Эксперт С++
 Аватар для Хохол
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
01.01.2011, 23:17
LK, ты путаешь '/' с '\\'.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
02.01.2011, 00:19
Цитата Сообщение от Хохол Посмотреть сообщение
LK, ты путаешь '/' с '\\'.
- точно , встреча Нового года удалась ! тогда почему он задает путь как для ссылки ?
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
02.01.2011, 10:24
Алексaндр, по-моему, легче сделать так:
C++
1
2
3
4
String path="magazine\\";
String aud=path+ThisClass+".xls";
 
        ShellExecute(NULL,NULL,aud.c_str(),path.c_str(),NULL,SW_SHOW);
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
02.01.2011, 14:05
Алексaндр, ИМХО, дело в том, что для типа char операция '+' не определена.
Пользуйся функцией strcat
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
02.01.2011, 15:22  [ТС]
Проблему решил таким способом...

C++
1
2
3
4
String aud1= "magazine/"+ThisClass+".xls";
    char* aud=aud1.c_str();
    char *path="magazine/";
    ShellExecute(NULL,NULL,aud,path,NULL,SW_SHOW);
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
02.01.2011, 15:43
Алексaндр, не решили вы проблему.
Неявная ошибка во второй строке.
Повторяю ещё раз: методы c_str, t_str и w_str возвращают указатель на временный массив символов.
Не удивляйтесь, если в какой-то момент работы программа выполнит недопустимую операцию.
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
02.01.2011, 15:45  [ТС]
Ок )
Про100 оно так у меня полностью работает пока 4то... Вот я и не убирал)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.01.2011, 15:45
Помогаю со студенческими работами здесь

Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*)
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа Помогите...

Ошибка: call of overloaded 'strchr(char&, char)' is ambiguous
Здравствуйте, прога почему-то ругается на функцию strchr, вот кусок кода: #include <stdio.h> #include <iostream> ...

Ошибка в работе с файлами: error: incompatible types in assignment of ‘char*’ to ‘char* [255]’
Суть задания Есть файл допустим 1.txt нужно выполнить обработку этого файла а результат вывести в этот же файл с другим расширением ...

Ошибка error: invalid conversion from ‘char’ to ‘const char*’
Доброго времени суток, компилятор выдает, такую ошибки: ... /usr/lib/gcc/x86_64-pc-cygwin/7.4.0/include/c++/bits/stl_construct.h:75:7:...

[Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive]
Решал задачи сам по себе, наткнулся на очень интересную. Вот сама задача: Вы оператор пуска ракет на ядерном подводном ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru