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

Поиск:

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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Требуется ввести массив char. Заранее размер не знаю. Как получить массив символов введённый пользователем?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
zim22
Дата 27.10.2009, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

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



Код

std::string line;
getline(line, std::cin);



--------------------
PM MAIL   Вверх
ДобренькийПапаша
Дата 27.10.2009, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Мне нужно массив символов, и какой заголовочный файл надо подключить для getline?


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
niXman
Дата 27.10.2009, 19:42 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



iostream
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
ДобренькийПапаша
Дата 27.10.2009, 19:49 (ссылка)   | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



чё iostream... напишите как...


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
zim22
Дата 27.10.2009, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

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



Цитата(ДобренькийПапаша @  27.10.2009,  18:36 Найти цитируемый пост)
 и какой заголовочный файл надо подключить для getline?

Код

#include <string>
#include <iostream>

int main()
{
  std::string line;
  getline(std::cin, line);
  std::cout << line;

  return 0;
}




--------------------
PM MAIL   Вверх
ДобренькийПапаша
Дата 27.10.2009, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

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



Не работает, во-первых он гетлайн не видит...

работает вот так:

Код

#include <iostream.h>  
#include <conio.h>     
#include <string.h>

int main()
{
    int curASCII;
    char inStr[256];
    cout<<"Input string to encrypt:";        
    cin.getline(inStr, sizeof(inStr));
}    


НО, почему когда я ввожу скажем пару русских заглавных типа "А", "Б", и когда пишу:
Код

cout<<endl<<(int)inStr[0];


то получаю на вывод -128

Почему, где нормальное представление аски?

Это сообщение отредактировал(а) ДобренькийПапаша - 27.10.2009, 20:41


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
mes
Дата 27.10.2009, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(ДобренькийПапаша @  27.10.2009,  19:40 Найти цитируемый пост)
работает вот так:

значит компилятор устаревший..

Цитата(ДобренькийПапаша @  27.10.2009,  19:40 Найти цитируемый пост)
то получаю на вывод -128

вид вывода зависит от типа.. Вы привели к int поэтому получили значение переменной как число,
был бы тип char, то получили бы его как символ.



--------------------
PM MAIL WWW   Вверх
bsa
Дата 28.10.2009, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



ДобренькийПапаша, если тебе нужен ASCII код, то тогда приводи не к int, а к unsigned.
PM   Вверх
mes
Дата 28.10.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(bsa @  27.10.2009,  23:27 Найти цитируемый пост)
если тебе нужен ASCII код, то тогда приводи не к int, а к unsigned. 

тогда получится очень большое число..   smile smile
так как char часто принят как signed,  то  вначале надо привести к unsigned char, a уж потом к (unsigned) инту.
 smile 


--------------------
PM MAIL WWW   Вверх
bsa
Дата 28.10.2009, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(mes @  28.10.2009,  11:19 Найти цитируемый пост)
тогда получится очень большое число..
А ты проверь.  smile 

PM   Вверх
mes
Дата 28.10.2009, 20:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(bsa @  28.10.2009,  12:25 Найти цитируемый пост)
А ты проверь.  smile 

пожалуйста :
 
Код

std::cout << static_cast<unsigned>('Ю')<<std::endl;     //  4294967262
std::cout << static_cast<unsigned>(static_cast<unsigned char>('Ю'))<<std::endl; // 222
   gcc 3.4.2

результат первой строчки может быть и "нормальным" (ожидаемым)  при условии, что char воспринимается компилятором как unsigned char, но на это мы полагаться не можем smile



Это сообщение отредактировал(а) mes - 28.10.2009, 20:29


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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