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

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

Войти
Регистрация
Восстановить пароль
 
Heidel
111 / 111 / 7
Регистрация: 11.10.2011
Сообщений: 647
#1

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

14.02.2012, 13:38. Просмотров 689. Ответов 9
Метки нет (Все метки)

Не мог бы кто-нибудь объяснить азы работы со стороками или дать ссылки, где это подробно объясняется? В прошлом семестре мы работали со строками как с массивом символьных переменных, объявляя и считывая их, например, так:
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, объяснить нам как это делается забыли, а самой разобраться не очень получается.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2012, 13:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как работать со строками? (C++):

Как правильно работать со строками? - C++
Вообщем суть вопроса такова, что я не совсем понимаю как происходит работа со строками. Вот к примеру: есть входной файл a.in в...

Как работать со строками при размещении класса в памяти кратно 16 байт? - C++
При обычном выделении памяти через New не работает. Для класса внутри которого я пытаюсь манипулировать со строками память выделяется...

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

Работа со строками, как с массивами - C++
Написать программу, которая принимает у пользователя строку и выводит ее по 4 символа по каждой строке. Например, строка Программирование...

Работа со строками. Как найти фразу? - C++
Вот фрагмент из задачи: Далее в новой строки следует зашифрованный текст объёмом не более 10^5 символов. Если находится...

Работа со строками как с массивом символов - C++
Работаю в Borland C++3.1 Нt понимаю почему не компиллируется, выдает постоянно ошибку - &quot;Unable to open file 'TCLASS.LIB' &quot; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6380 / 5945 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 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; 
}
0
Heidel
111 / 111 / 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;
}
0
-=ЮрА=-
14.02.2012, 16:16
  #4

Не по теме:

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

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

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

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

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

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

Не по теме:

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

0
Heidel
111 / 111 / 7
Регистрация: 11.10.2011
Сообщений: 647
14.02.2012, 20:23  [ТС] #10
-=ЮрА=-, да, действительно, окно открывается и мгновенно закрывается.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2012, 20:23
Привет! Вот еще темы с ответами:

Работа со строками. Как удалить символ с строки - C++
Здраствуйте помогите пожалуйста. не знаю как удалать символы с строки знаю что с помощью ERASE но не знаю как помогите пожалуйста!

Нюансы работы со строками: как в C++ можно объявлять и инициализировать строки? - C++
Добрый день! Подскажите пожалуйста, как в 17-ой строке присвоить слово? Один символ присваивается, но со словом и тем более предложением...

Как узнать и прочитать файл до того как с ним начнет работать другая программа - C++
Здрувствуйте! Подскажите пожалуйста, как я могу узнать и прочитать файл до того как с ним начнет работать другая программа. Например ...

Работа со строками. Как вывести последнее слово палиндром в моей строке? - C++
#define _CRT_SECURE_NO_WARNINGS #include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; int main(){ char *str = new...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.02.2012, 20:23
Ответ Создать тему
Опции темы

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