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

Принцип char* - C++

Восстановить пароль Регистрация
 
BooNoo
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 6
14.11.2013, 10:50     Принцип char* #1
Привет форумчанам. Сам только начинаю изучать с++ и пока мозг не отошел от простоты паскаля, сложно переваривать много новой информации. Проблема такая: нужно написать программу разбиения введенного в файле текста на n столбцов , длинной k символов. Использовать нужно char*. Проблема в том что не нашел в инете ( скорее всего правда плохо искал) в чем особенность работы с char* я так и не понял. Буду благодарен если кто нибудь приведет пример работы с char*.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
14.11.2013, 10:58     Принцип char* #2

Не по теме:

Да сколько же можно давать задание на char* и называть это с++? Это не вам, ТС, это преподавателям...


char* - это просто указатель на строку. Вначале нужно выделить память через new[]. Причем не надо забывать про нулевой символ в конце строки. Так строка "hello" - это 6 символов
Работа с char* строками идет с помощью функций отсюда - http://www.cplusplus.com/reference/cstring/
По этой ссылке в том числе есть и копирование строки. Подчеркиваю, копирование char* строки делается функцией, а не простым присваиванием
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
14.11.2013, 11:05     Принцип char* #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    char* str = new char[1024]; //Объявление новой переменной char* на 1024 символа
 
    cout << "Введите строку: ";
    cin.getline(str, 1024); //Записываем строку, вводимую пользователем в str. Для файла сами переделаете, я надеюсь.
 
    int k;
 
    cout << "Введите кол-во символов в столбце: ";
    cin >> k;
 
    for(int i=0; str[i]!='\0'; ++i) //Цикл до символа окончания строки
    {
        cout << str[i]; //Выводим посимвольно строку
        if(i!=0 && i%k==0) cout << "\t"; //Каждые k символов ставим знак табуляции
    }
    cout << endl;
BooNoo
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 6
14.11.2013, 12:36  [ТС]     Принцип char* #4
Спасибо большое ребят) Попробую сейчас разобраться. Если будут еще вопросы то напишу.
Yandex
Объявления
14.11.2013, 12:36     Принцип char*
Ответ Создать тему
Опции темы

Текущее время: 15:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru