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

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

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

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

30.06.2013, 12:53. Просмотров 867. Ответов 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++
Здравствуйте! Помогите пожалуйста. Для определения массива объектов раньше пользовался MyClass * MyObject, а потом уже задавал его...

Определение длины строки - C++
Нужно написать функцию, определяющую длину подаваемой на вход строки без использования встроенных функций вроде strlen(). ...

Неверное определение длины строки - C++
Всем привет. почему так происходит? пишу так char* nama = new char; cout &lt;&lt; &quot;strlen = &quot; &lt;&lt; strlen(nama) &lt;&lt; endl; выводит...

Стандартное определение длины строки в С++ - C++
Есть такой массив: char massive=&quot;что-то там&quot; Нужна функция из стандарта С++ для определения длины строки.Почему sizeof(massive)==19?На...

Ввод строки, определение ее длины, и удаление в ней всех пробелов - C++
Введите строку, определите ее длину, и удалите в ней все пробелы (предложите вариант без использования стандартного метода erase!

Какие методы класса fstream отвечают за определение количества строк в файле и длины строки? - C++
Привет всем. Знакомлюсь я тут с потоковым файловым вводом-выводом, скажите пожалуйста, какие методы класса fstream, отвечают за определение...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
1703 / 1196 / 495
Регистрация: 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
Каратель
Эксперт С++
6553 / 3973 / 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);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2013, 13:11     Определение длины заранее неопределенной строки
Еще ссылки по теме:

Ошибки (в файле содержатся строки разной длины - записать их в выходной файл в порядке возрастания длины строки) - C++
#include &lt;iostream&gt; #include &lt;set&gt; #include &lt;iterator&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; int main()...

Ввод массива заранее неизвестной длины - C++
#include &lt;iostream&gt; using namespace std; int main () { int n; // ввод неизвестного массива int*mass = new int ; for (int i...

Ввод массива заранее неизвестной длины - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { int arr, a = 0; cout &lt;&lt; &quot;Вводите...

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

Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки - C++
Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки.

Текстовый файл содержит строки – предложения разной длины. Записать их в выходной файл в порядке возрастания длины строки - C++
ребят всю голову сломал уже завтра уже надо сдавать(( Текстовый файл содержит строки – предложения разной длины. Записать их в...


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

Или воспользуйтесь поиском по форуму:
Surovyi
1 / 1 / 0
Регистрация: 19.06.2013
Сообщений: 9
30.06.2013, 13:11  [ТС]     Определение длины заранее неопределенной строки #4
Большое спасибо за помощь. Тема закрыта
Yandex
Объявления
30.06.2013, 13:11     Определение длины заранее неопределенной строки
Ответ Создать тему
Опции темы

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