Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2018, 20:37   #1
Terminator004
Новичок
Джуниор
 
Регистрация: 02.05.2018
Сообщений: 3
По умолчанию Char массив и size

Добрый день. Сначало я беру из string массива любое слово, тогда то слово разделяю по буквам и те буквы я записываю в char массив. И когда я хочу вывести из char массива те буквы, то мне не выходит! Потому что я в массиве указал 8 значение, ну типа максимум 8 букв там может быть, а когда сгенерирует допустим слово из 6 букв, так те 2 место не проподают и пишет чушь какую-ту. Так как взять из массива точное колво букв.

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    int spejimai = 5;
    char raides[8];
    string temp;
    string mas[10] = {"morka", "anglis", "pienas", "ledai", "laidas", "mygtukas", "stalas", "namas"};
    temp = mas[rand() % 8];
    cout << temp << endl << endl;
 
 
    for(int i=0; i<temp.size(); i++)
    {
 
        raides[i] = (char)temp[i];
 
    }
 
    for(int i=0; i<sizeof(raides); i++)
    {
        cout << raides[i] << endl;
    }
return 0;
}
Terminator004 вне форума Ответить с цитированием
Старый 02.05.2018, 20:45   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

1. Поставить в конце нулевой символ как полагается в С строках
2. Выбросить второй цикл нафик. << умеет char*
3. Для вашей цели вообще хватит метода c_str (можно даже raides как указатель оставить...)
p51x вне форума Ответить с цитированием
Старый 02.05.2018, 20:46   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что-то какая-то бесмысленная фигня, зачем копировать из строки все символы в тот массив из 8 букв? У вас же и так есть строка, с size() и прочими удобствами.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
zip архив у которого Compressed size и Uncompressed size 0xFFFF dmitriegorovih Общие вопросы Delphi 22 20.01.2015 23:33
[SIZE="7"]Помогите с задачей пожалуйста !!!!!!!!!!!!!!!!!!!!!!!!!!!![/SIZE] sergeymalcow Помощь студентам 0 03.12.2014 22:52
Ошибка: String[1]: the Size property has an invalid size of 0. mrChester Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 1 18.01.2012 20:06
[SIZE="4"]Найти максимальное число y Delphi[/SIZE] Артем1904 Помощь студентам 5 16.12.2011 10:22
Резиновый font-size, Как сделать резионвый font-size в блоке? AlienNation HTML и CSS 0 26.09.2011 09:14