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

Как работать со строками? - C++

Восстановить пароль Регистрация
 
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
14.02.2012, 13:38     Как работать со строками? #1
Не мог бы кто-нибудь объяснить азы работы со стороками или дать ссылки, где это подробно объясняется? В прошлом семестре мы работали со строками как с массивом символьных переменных, объявляя и считывая их, например, так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main ()
{
    const int MAX_LEN=101;
    
    char str[MAX_LEN];
    cout << "Enter a string (max "<< MAX_LEN-1 << " symbols)\n";
    cin.getline (str, MAX_LEN);
 
    return 0;
}
в этом семестре понадобилось работать со строкой, используя библиотеку string, объяснить нам как это делается забыли, а самой разобраться не очень получается.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,180
Завершенные тесты: 1
14.02.2012, 13:42     Как работать со строками? #2
C++
1
2
3
4
5
6
7
8
9
10
11
[FONT=monospace]
[/FONT]#include <iostream>
#iclude <string>
using namespace std;
int main ()
{
         string str;
         cout << "Enter a string\n";
         cin>>str;           
         return 0; 
}
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
14.02.2012, 14:34  [ТС]     Как работать со строками? #3
zss2, эта функция считает строку до первого пробела, верно?

Добавлено через 31 минуту
Задача: вывести символы первого и последнего символов в строке.
Это правильное решение?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
using namespace std;
 
int main ()
{
    string str;
    cout << "Enter a string\n";
    getline(cin,str);
 
    cout << "the code of the fisrt symbol '" << str[0] << "' is " << int(str[0]) << "\n";
    cout << "the code of the last symbol '" << str[str.length()-1] << "' is " << int(str[str.length()-1]) << "\n";
 
    return 0;
}
-=ЮрА=-
14.02.2012, 16:16
  #4

Не по теме:

Цитата Сообщение от Heidel Посмотреть сообщение
getline(cin,str);
- так можно ввести строку с пробелами
Цитата Сообщение от Heidel Посмотреть сообщение
Задача: вывести символы первого и последнего символов в строке.
Это правильное решение?
- да верное

От себя предлагаю в твой алгоритм добавить стоп-точку записав перед return 0;
функцию system("pause");

PS:Heidel, если твой компилятор стар - к примеру VisualStudio 6.0 после того как напечатаешь вводимый текст Enter нужно будет жать 2 раза...

Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
14.02.2012, 16:35  [ТС]     Как работать со строками? #5
-=ЮрА=-, да, я пишу в VisualStudio 6.0 и после ввода текста приходится нажимать на Enter 2 раза. А от этого как-то можно избавиться?

А зачем нужна стоп-точка перед return 0; ?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.02.2012, 17:01     Как работать со строками? #6
Цитата Сообщение от Heidel Посмотреть сообщение
А зачем нужна стоп-точка перед return 0; ?
Нужно запускать из командной строки.
-=ЮрА=-
Заблокирован
Автор FAQ
14.02.2012, 17:44     Как работать со строками? #7
Цитата Сообщение от Heidel Посмотреть сообщение
А от этого как-то можно избавиться?
- для 6-ки пока так и не нашёл решения, в 9-й версии всё отрабатывает по одному нажатию.

Цитата Сообщение от Heidel Посмотреть сообщение
А зачем нужна стоп-точка перед return 0; ?
- тут всё зависит, будете ли вы работать с программой через командную строку либо как с отдельным приложением, в последнем случае без стоп-точки вконце приложение отработав сразу закроется(мигнёт на долю секунды и прости прощай...). Вот поэтому и вводится стоп-точка - программа ждёт перед закрытием нажатия любого ключа на клавиатуре.
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
14.02.2012, 19:52  [ТС]     Как работать со строками? #8
-=ЮрА=-, я создаю консольное приложение, оно не закрывается после завершения работы программы, но спасибо, буду знать.
-=ЮрА=-
14.02.2012, 20:13
  #9

Не по теме:

Цитата Сообщение от Heidel Посмотреть сообщение
-=ЮрА=-, я создаю консольное приложение, оно не закрывается после завершения работы программы, но спасибо, буду знать.
- потому что ты запускаешь его через студию и она контролирует его завершение. Попробуй открыть папку Debug и щёлкнуть по экзешнику как по обычному приложению - сильно удивишся...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2012, 20:23     Как работать со строками?
Еще ссылки по теме:

C++ Как работать с <ctime>?
C++ Работа со строками. Как вывести последнее слово палиндром в моей строке?
C++ Работа со строками. Как удалить символ с строки

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

Или воспользуйтесь поиском по форуму:
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
14.02.2012, 20:23  [ТС]     Как работать со строками? #10
-=ЮрА=-, да, действительно, окно открывается и мгновенно закрывается.
Yandex
Объявления
14.02.2012, 20:23     Как работать со строками?
Ответ Создать тему
Опции темы

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