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

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

Войти
Регистрация
Восстановить пароль
 
exet0l
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 4
#1

Отключить предупреждение (character constant too long for its type [enabled by default]) - C++

24.05.2013, 02:14. Просмотров 1068. Ответов 1
Метки нет (Все метки)

Компилятор mingw32 пишет предупреждение:
character constant too long for its type [enabled by default]
if (fileName[i] == L'//' || fileName[i] == L'\\')

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
std::wstring ExtractFileName(const wchar_t* fileName)
{
  std::wstring result;
  
  int len = wcslen(fileName);
  for (int i = len; i > 0; i--) {
    if (fileName[i] == L'//' || fileName[i] == L'\\') {
      result.assign(fileName, i + 1, len - i);
      break;
    }
  }
  
  return result;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2013, 02:14     Отключить предупреждение (character constant too long for its type [enabled by default])
Посмотрите здесь:
[Warning] character constant too long for its type C++
Вылезает: [Warning] character constant too long for its type C++
[C++ Error] Unit1.cpp(9): E2129 Character constant too long (or empty) C++
C++ Warning: left shift count >= width of type [enabled by default]
Операторы if и char - Multi-character character constant C++
Ошибка "integer constant is too large for 'long' type" C++
C++ [Warning] multi-character character constant
multi-character character constant C++
Не могу исправить ошибку(error C2137: empty character constant) C++
C++ Компилятор выдает предупреждение при инициализации строки:deprecated conversion from string constant to char*
Expected constant expression; cannot allocate an array of constant size 0 C++
Error: Unresolved external 'character::character(int)' C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
quwy
Native x86
3131 / 1979 / 527
Регистрация: 13.02.2013
Сообщений: 6,628
24.05.2013, 02:28     Отключить предупреждение (character constant too long for its type [enabled by default]) #2
Это потому, что экранировать нужно только обратный слеш: \\
Прямой / экранировать не нужно, поэтому у вас получается сравнение одного символа со строкой '//'
Ответ Создать тему
Опции темы

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