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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
beats
98 / 36 / 4
Регистрация: 09.12.2012
Сообщений: 567
#1

Ввести char * в консоль - C++

06.07.2013, 19:31. Просмотров 1775. Ответов 21
Метки нет (Все метки)

Долбанный char * не получается ввести не cin ни gets ни getsline и т.д.
Не могу понять как его ввести.
Есть код:
C++
1
2
char *tbLEN = "TESTVASYA AND TWO TEXTZZ";
// Далее шифрование и другие действия...
Надо сделать как то так:
C++
1
2
char *tbLEN = (ввод с клавы в консоль с учетом пробелов!);
// Далее шифрование и другие действия...
Help!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 19:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввести char * в консоль (C++):

Вывод массива char* на консоль - C++
Пытаюсь вывести массив чаров в консоль, но выходит какая-та белеберда. Вывод в: for (size_t i = 0; i < 20; i++) { cout <<...

Char выводит в консоль ╠ - C++
Здравствуйте. Проблема состоит в том, что при выводе строки building_name в get ф-ции, в консоле появляются символы ╠ заполняющие незанятое...

Ввести строку char с консоли - C++
Добрый день! Помогите, пожалуйста. В моей программе используются переменные char* Я их присваивала в самом начале. Теперь решила...

*char (запрашивает ввести фамилию) - C++
Проблема такая, как с указателем на *char выделить память под неизветное количество вводимых символом? cout<<"Введите фамилию" name =...

Как ввести с клавиатуры слова в char? - C++
подскажите пожалуйста как ввести с клавиатуры "fat a cat sit in the table" или другие слова?и как сделать так что бы в char s2 и как...

Как увеличить максимальное количество символов, которое можно ввести в консоль? - C++
Я использую функцию cin.getline(article, 9999);Как видите, количество символов для ввода стоит 9999, но на практике консоль принимает...

21
Thinker
Эксперт С++
4227 / 2201 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
06.07.2013, 19:35 #2
представьте, что вы купили квартиру в еще непостроенном доме (только фундамент возвели), получится ли в нее переехать с вещами?
0
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 274
06.07.2013, 19:35 #3
вся проблема в том что надо писать не char *переменная, а char* переменная это 100% но если есть другие ошибки в коде - не вини меня)
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
06.07.2013, 19:40 #4
Ну или добавить ...tbLen=new char[миллион]; а в конце обязательно delete[]tbLen. Хотя текст стороки не большой, лучше так:

char tbLEN[1024];
gets(tbLen);
// Далее шифрование и другие действия...
0
Thinker
06.07.2013, 19:44
  #5

Не по теме:

svk2140, не позорьтесь!

1
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
06.07.2013, 19:48 #6
Цитата Сообщение от svk2140 Посмотреть сообщение
вся проблема в том что надо писать не char *переменная, а char* переменная это 100%
Ну что за бред, ребят.. ей богу..
1
beats
98 / 36 / 4
Регистрация: 09.12.2012
Сообщений: 567
06.07.2013, 19:50  [ТС] #7
svk2140, к сожалению позиция звездочки значения не имеет.
Retyrn0, ты написал все верно, но упустил одну вещь. У меня тип со звездочкой и ввести мне нужно именно в указанную переменную char *tbLEN иначе далее по коду шифрирование не будет работать. Поэтому твой совет в данный момент не несет решения проблемы
0
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 274
06.07.2013, 20:03 #8
ну ёмаё подумаешь сделал как я привык) думал вопрос лёгкий без проверки напишу)

Добавлено через 2 минуты
стоп объясните плиз нафига вообще тут *?

Добавлено через 26 секунд
без звёздочки работает)
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int main()
{
    char s = 'd';
    cin >> s;
    cout << s << endl;
}
0
castaway
06.07.2013, 20:04
  #9

Не по теме:

svk2140, пойми меня правильно, у тебя есть одна большая проблема, ты отвечаешь не думая и при чем абсолютно уверенно, и это очень плохо. Я не собираюсь тебя воспитывать, просто подумай над этим..

0
beats
98 / 36 / 4
Регистрация: 09.12.2012
Сообщений: 567
06.07.2013, 20:05  [ТС] #10
без звёздочки у меня тогда вся программа далее работать не будет) а нужно это для ширфования гаммированием
0
-=ЮрА=-
Заблокирован
Автор FAQ
06.07.2013, 20:05 #11
beats, если по простому
Цитата Сообщение от beats Посмотреть сообщение
Надо сделать как то так:
Код C++
1
2
char *tbLEN = (ввод с клавы в консоль с учетом пробелов!);
// Далее шифрование и другие действия...
Help!
то динамический ввод делается так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
using namespace std;
 
template <class T>
T * memalloc(T * ptr, int prev, int next);
 
int main()
{
    char chBuf = 0;
    char * str = 0;
    int size   = 0;
    while((chBuf = cin.get()) != '\n')
    {
        str = memalloc(str, size, size + 1);
        str[size++] = chBuf;
    }
    str[size] = '\0';
    cout<<"YOUR INPUT : "<<str<<endl;
    cin.get();
    return 0;
}
 
template <class T>
T * memalloc(T * ptr, int prev, int next)
{
    T * dst = 0;
    if( next)
    {
        dst = new T[next];
        if( ptr )
        if( prev < next )
            memcpy(dst, ptr, prev);
        else
            memcpy(dst, ptr, next);
        if( ptr )
        delete [] ptr;
    }
    ptr = dst;
    return dst;
}
2
Миниатюры
Ввести char * в консоль  
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
06.07.2013, 20:08 #12
beats, ты зря лезешь в шифрование. Изучи элементарные основы языка.
0
svk2140
-8 / 0 / 1
Регистрация: 04.07.2013
Сообщений: 274
06.07.2013, 20:09 #13
Цитата Сообщение от lazybiz Посмотреть сообщение
Ну что за бред, ребят.. ей богу..
я сейчас тебя не понял! я вить ошибочно не говорю того чего не знаю) да и ошибок в моих программах нету)
0
castaway
06.07.2013, 20:12
  #14

Не по теме:

Цитата Сообщение от svk2140 Посмотреть сообщение
вся проблема в том что надо писать не char *переменная, а char* переменная это 100%
Ты уверил на 100% что это так.

0
Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
06.07.2013, 20:48 #15
я, что-то упускаю или недопонимаю(что более вероятно), чем автору не угодило:
C++
1
2
3
4
5
6
char *tbLEN;
tbLEN = new char [1024];
 
cin.getline(tbLEN,1024);
 
cout << tbLEN;
Объясните если не сложно.
0
06.07.2013, 20:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2013, 20:48
Привет! Вот еще темы с ответами:

char массив, get(), ввести больше символов чем в массиве - C++
#include &lt;iostream&gt; using std::cin; using std::cout; using std::endl; int main() { setlocale(LC_ALL,&quot;&quot;); char...

Написать программу, которая предлагает пользователю ввести число и выводит в консоль его факториал - C++
Написать программу, которая предлагает пользователю ввести число и выводит в консоль его факториал. использовать только for .

Ввести количество товара и стоимость за одну штуку, вычислить скидку и вывести результат в консоль - C++
Всем привет последнее время часто читаю ваш форум решил зарегистрироваться. итак к делу: мне нужна помощь по нескольким задачам по с...

Написать программу, которая предлагает пользователю ввести целое число, определяет его четность и выводит результат в консоль - C++
1.Написать программу, которая предлагает пользователю ввести целое число, определяет его четность и выводит результат в консоль.


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

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

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