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

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

Войти
Регистрация
Восстановить пароль
 
Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
#1

Определение длины заранее неопределенной строки - C++

30.06.2013, 12:53. Просмотров 848. Ответов 3
Метки нет (Все метки)

Добрый день. Возник вопрос с определением длины строки. Если она заранее определена, то используя функцию strlen() я легко получаю нужное значение. Если же я пытаюсь ввести с клавиатуры строку, используя пробелы, то функция считает длину строки до этого пробела, а не до конца. Подскажите, пожалуйста, может есть иные функции для определения такой строки, или какие-то уловки, с помощью которых можно посчитать длину строки до её финала, а не до ближайшего пробела.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
    char *stroka = "Alex Ich";
    int i = strlen(stroka);
    cout << "Stroka 1: " << stroka << endl;
    cout << "Dlina stroki: " << i << endl;
 
    char stroka2 [50];
    cout << "Stroka 2: ";
    cin >> stroka2;
    int j = strlen(stroka2);
    cout << "Dlina stroki: " << j << endl;
 
    return 0;
}
Миниатюры
Определение длины заранее неопределенной строки  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2013, 12:53     Определение длины заранее неопределенной строки
Посмотрите здесь:

C++ Стандартное определение длины строки в С++
C++ Определение длины подпоследовательности
Определение длины файла в С C++
C++ Массив объектов класса неопределенной длины
C++ Ошибки (в файле содержатся строки разной длины - записать их в выходной файл в порядке возрастания длины строки)
C++ Какие методы класса fstream отвечают за определение количества строк в файле и длины строки?
C++ Ввод строки, определение ее длины, и удаление в ней всех пробелов
C++ Определение длины строки
Неверное определение длины строки C++
C++ Ввод массива заранее неизвестной длины
C++ Как из стека записать в вектор неивестной заранее длины?
C++ Ввод массива заранее неизвестной длины

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
1701 / 1194 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
30.06.2013, 12:57     Определение длины заранее неопределенной строки #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
 
    std::cout << str << " : " << str.length() << std::endl;
 
    return 0;
}
Jupiter
Каратель
Эксперт С++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.06.2013, 13:01     Определение длины заранее неопределенной строки #3
Цитата Сообщение от Surovyi Посмотреть сообщение
C++
1
2
char *stroka = "Alex Ich";
int i = strlen(stroka);
C++
1
2
const char *stroka = "Alex Ich"; //"Alex Ich" - это константа, и потому указатель должен быть указателем на константу
size_t i = strlen(stroka); //длинна строки - беззнаковое
ну и решение проблемы:
C++
1
2
cin.getline(stroka2, 50);
size_t j = strlen(stroka2);
Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
30.06.2013, 13:11  [ТС]     Определение длины заранее неопределенной строки #4
Большое спасибо за помощь. Тема закрыта
Yandex
Объявления
30.06.2013, 13:11     Определение длины заранее неопределенной строки
Ответ Создать тему
Опции темы

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