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

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

Восстановить пароль Регистрация
 
Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
30.06.2013, 12:53     Определение длины заранее неопределенной строки #1
Добрый день. Возник вопрос с определением длины строки. Если она заранее определена, то используя функцию 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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 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
Каратель
Эксперт C++
6543 / 3963 / 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     Определение длины заранее неопределенной строки
Ответ Создать тему
Опции темы

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