Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 32, средняя оценка - 4.88
SoproMaster
 Аватар для SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
#1

Присвоить новое значение для char - C++

02.05.2011, 09:52. Просмотров 7712. Ответов 5
Метки нет (Все метки)

Доброго времени суток!
Объявилась не большая проблема:
C++
1
2
3
4
5
char Folder1[256] = "Objects\\Forest\\";
    if (map==0)
        Folder1 = "Objects\\Desert\\";
    else if (map==1)
        Folder1 = "Objects\\Steel\\";
Вроде всё просто, но не тут то было.) Компиллятор выдаёт "невозможно преобразовать "const char [16]" в "char [256]". Объясните, что здесь нужно исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 09:52     Присвоить новое значение для char
Посмотрите здесь:

как присвоить переменной char значение слова ? C++
C++ Error: значение типа "const char" нельзя присвоить сущности типа "double"
C++ Присвоить Char Char
C++ значение типа "char *" нельзя присвоить сущности типа "LPWSTR"
Надо указателю на long int присвоить значение указателя на char C++
Не получается присвоить значение двумерному массиву char C++
C++ Присвоить переменной Char значение третьего байта переменно типа Int
C++ Как присвоить типу char значение string?
Почему при выводе указателя получаем для char - значение по адресу, а для других типов - адрес C++
Как прочесть несколько слов из файла в динамический массив char и добавить новое значение в конец? C++
Как переменной Char присвоить значение целого текста? C++
C++ Как переменной Char присвоить значение целого текста полученого из файла?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Danvern
 Аватар для Danvern
40 / 39 / 3
Регистрация: 22.06.2010
Сообщений: 415
Записей в блоге: 1
02.05.2011, 10:05     Присвоить новое значение для char #2
потому что так нельзя делать.
надо либо использовать функцию strcpy();
либо присваивать каждому элементу по символу в цикле...
NiTan
Покинул форум
3146 / 1328 / 50
Регистрация: 29.01.2010
Сообщений: 2,888
02.05.2011, 10:32     Присвоить новое значение для char #3
C++
1
2
3
4
5
char Folder1[256] = "Objects\\Forest\\";
        if (map==0)
                strcpy(Folder1,"Objects\\Desert\\");
        else if (map==1)
                strcpy(Folder1,"Objects\\Steel\\");
Добавлено через 1 минуту
Или так, наверное, тоже можно:
C++
1
2
3
4
5
6
char *Folder1=new char[256];
Folder1 = "Objects\\Forest\\";
   if (map==0)
                Folder1 = "Objects\\Desert\\";
        else if (map==1)
                Folder1 = "Objects\\Steel\\";
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,910
Завершенные тесты: 1
02.05.2011, 11:58     Присвоить новое значение для char #4
Уж если используете C++, то так:
C++
1
2
3
4
5
6
7
8
#include <string>
using std::string;
...
string Folder1 = "Objects\\Forest\\";
if(map==0)
    Folder1 = "Objects\\Desert\\";
else if(map==1)
    Folder1 = "Objects\\Steel\\";
SoproMaster
 Аватар для SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
02.05.2011, 12:18  [ТС]     Присвоить новое значение для char #5
NiTan, спасибо за первый вариант!) Работает как часы.
Вариант c форматом string я рассматривал, но он не подходит, т.к. нужен именно char. А переводить из формата формат не хочется.
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
02.05.2011, 13:36     Присвоить новое значение для char #6
Цитата Сообщение от NiTan Посмотреть сообщение
Или так, наверное, тоже можно:
C++
1
2
3
4
5
6
char *Folder1=new char[256];
Folder1 = "Objects\\Forest\\";
   if (map==0)
                Folder1 = "Objects\\Desert\\";
        else if (map==1)
                Folder1 = "Objects\\Steel\\";
так нельзя.
Yandex
Объявления
02.05.2011, 13:36     Присвоить новое значение для char
Ответ Создать тему
Опции темы

Текущее время: 11:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru