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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.76
skvor
640KB мне хватило на всё.
118 / 49 / 2
Регистрация: 07.06.2009
Сообщений: 442
#1

char *s или char s[] - C++

17.08.2011, 15:52. Просмотров 3860. Ответов 16

C++
1
2
3
4
  char s1[]="1111",s2[]="2222";
  printf("%s %s\n",s1,s2);
  memmove(s1,s2,2);
  printf("%s %s\n",s1,s2);
работает нормально
C++
1
2
3
4
  char *s1="1111",*s2="2222";
  printf("%s %s\n",s1,s2);
  memmove(s1,s2,2);
  printf("%s %s\n",s1,s2);
компилируется с предупреждением
warning: deprecated conversion from string constant to 'char*'
и при запуске падает из-за memmove. Что собственно в этом плохого?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2011, 15:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос char *s или char s[] (C++):

Преобразование char в char* или разделить на две строки - C++
Пытаюсь сделать программу под linux. Возникла проблема, описанная в заголовке. Мне нужно разделить строку в char на две по символу ? либо...

Приведение массива char[] (или char* ) в LPCTSTR - C++
Задача: пользователь вводит директорию, нужно проверить существует ли эта директория. Функция DirExists проверки работает правильно, но...

string[] в char[][] или char[] - C++
Приветствую! Можно ли одномерный массив типа string переписать в двумерный или одномерный типа char? Если да, то как? Заранее спасибо...

(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const& - C++
astxx::manager::connection::connection(std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, unsigned short); ...

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

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' - C++
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &amp;struc1) { ...

16
grizlik78
Эксперт С++
1982 / 1475 / 126
Регистрация: 29.05.2011
Сообщений: 3,048
17.08.2011, 21:50 #16
Хотелось бы увидеть ссылку на то место в стандарте, которое позволяет трактовать это таким образом.
0
accept
4832 / 3253 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
18.08.2011, 03:53 #17
Цитата Сообщение от Сыроежка
На самом деле это не неявное преобразование, а явное!
явное преобразование типа - это через операцию приведения типа

C
1
char *p = (char *) "abcd";
это сработает без предупреждения, так как не отбрасывается const

операция присваивания имеет ряд ограничений
C89 (draft) 3.3.16.1 Simple assignment
* both operands are pointers to qualified or unqualified versions of
compatible types, and the type pointed to by the left has all the
qualifiers of the type pointed to by the right;
0
18.08.2011, 03:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2011, 03:53
Привет! Вот еще темы с ответами:

array char* to char* (значения массива указателей в один указатель) - C++
Как сложить(или вывести в формате char*) все значения массива указателей(char *) воедино, то есть сложить строки и назначить результату...

Различное поведение функции которая копирует строки с char* t и char t[] - C++
столкнулся с ситуацией которую не могу объяснить пишем функцию которая копирует одну строку в другую: void strstr(char* t,...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

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


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

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

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