Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с извлечением из командной строки 
:(
    Опции темы
Stas123
Дата 30.3.2011, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 18.11.2009

Репутация: нет
Всего: нет



Моя программа почему-то печатает только первый символы из того, что передается её в командной строке

Код
int _tmain(int argc, char ** argv)
{
    for(int i=0;i<argc;i++){
    std::cout<<(argv[i])<<std::endl;
    }
return 0;
}


т.е. вместо имени программы выводится 
C


Модератор: Не забываем пользоваться кнопочкой "Код"

Это сообщение отредактировал(а) bsa - 31.3.2011, 14:22
PM MAIL   Вверх
volatile
Дата 30.3.2011, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Юникод выводите в неюникодный поток.
Для решения проблемы у вас 2 пути.
  • либо программу сделать не юникодной. (делается в опциях проекта)
  • либо сделать юникодным поток (std::wcout<<  ... )

PM MAIL   Вверх
Stas123
Дата 31.3.2011, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 18.11.2009

Репутация: нет
Всего: нет



Спасибо, попробую.
PM MAIL   Вверх
Stas123
Дата 31.3.2011, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 18.11.2009

Репутация: нет
Всего: нет



А как преобразовать символы из юникод в обычный char?
PM MAIL   Вверх
volatile
Дата 31.3.2011, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(Stas123 @  31.3.2011,  22:33 Найти цитируемый пост)
А как преобразовать символы из юникод в обычный char? 

Все зависит от контекста. Для латинских букв вполне подойдет даже так:
Код

wchar_t uc = L'A';
char c = char( uc );
 (да простят меня ревнители "высокой нравственности") smile 
А для не латинских, нужно вызывать функции преобразования, если в Win,то например WideCharToMultiByte

Но вам это скорей всего не нужно.
Если сделаете не юникодный проект, то с юникодными символами вы и не встретитесь.
можно в начале до инклудов написать
#undef UNICODE
#undef _UNICODE
но лучше в опция проекта убрать.

Это сообщение отредактировал(а) volatile - 31.3.2011, 23:37
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.