Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/74: Рейтинг темы: голосов - 74, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 28
1

Почему не работает strlen()???

03.02.2011, 17:46. Показов 13825. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
#include<string>
#include<iostream>
using namespace std;
 
int main(){
    string s;
    getline(cin, s, '\n');
    int d=0;
    d=strlen(s);
    cout<<d<<'\n';
    return 0;}
Ответ компилятора:
901.cpp: In function `int main()':
901.cpp:9: error: cannot convert `std::string' to `const char*' for argument `1
' to `size_t strlen(const char*)'
g++: 901.o: No such file or directory
g++: no input files

(((---Compile ERROR!!!---)))
Для продолжения нажмите любую клавишу . . .

Не по теме:

Ну почему у меня все не работает???:wall::cry:%-)

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2011, 17:46
Ответы с готовыми решениями:

Не понимаю, почему не работает стандартная функция strlen
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;string.h&quot; using namespace std; int...

Не работает strlen
сабж не могу взять длину строки функция определения возвращает не понятные значения #include...

Не работает функция strlen
#include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; int main() { string s; ...

Почему в коде записано strlen()+1 вместо strlen()
здравствуйте. объясните пожалуйста. почему для выделения места на основе размера уже существующей...

16
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
03.02.2011, 17:49 2
тебе же компилятор пишет ошибку, что функция принимает параметр типа const char* а не string
C++
1
d=strlen(s.c_str());
1
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
03.02.2011, 17:51 3
C++
1
d=strlen(s.c_str());
А вообще, чем не устраивает s.size() ?
2
54 / 54 / 9
Регистрация: 09.11.2010
Сообщений: 120
03.02.2011, 17:54 4
Без строк.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
using namespace std;
 
int main(){
        char s[256];
        int d;
        cin.getline(s, 256);
 
        d = strlen(s);
        cout<< d << '\n';
        return 0;
}
1
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
03.02.2011, 17:55 5
а вы что по вашему вводите символьный массив чтоли?)))
1
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
03.02.2011, 17:56 6
Цитата Сообщение от Escapable Посмотреть сообщение
Без строк.
А это тогда что такое ?

Цитата Сообщение от Escapable Посмотреть сообщение
C++
1
char s[256];
1
Flying_Man
03.02.2011, 17:59  [ТС]
  #7

Не по теме:

panicwassano

...
тебе же компилятор пишет ошибку, что функция принимает параметр типа const char* а не string
Если ты вдруг не заметил, то я тебя просвещу: Ты находишся в разделе "С/С++ для начинающих" :rtfm:, по этому я из твоей фразы (без дополнения) не получил НИЧЕГО полезного. А вообще спасибо!:sorry:

0
54 / 54 / 9
Регистрация: 09.11.2010
Сообщений: 120
03.02.2011, 18:01 8
asics, имелось ввиду без типа string ...
1
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
03.02.2011, 18:05 9
Flying_Man я лишь перевел то, что пишет тебе компилятор, а дальше делай выводы, если самому интересно разобраться
1
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 28
03.02.2011, 18:08  [ТС] 10
panicwassano, Я просто хочу научится но ничего не получается и хотел чтоб мне всего лишь доступным мне языком объяснили что к чему...
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
03.02.2011, 18:11 11
Цитата Сообщение от Escapable Посмотреть сообщение
asics, имелось ввиду без типа string ...
Телепатическими способностями не обладаю, так-что четко исхожу из текста.

Добавлено через 1 минуту
Цитата Сообщение от Flying_Man Посмотреть сообщение
доступным мне языком
Здесь, ка бэ, все пишут по-русски, что не понятно ?
1
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
03.02.2011, 18:12 12
Flying_Man вам стоит почитать книжку, особенно там где про функции
1
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.02.2011, 18:23 13
Господа, прекратите ругаться!
0
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 28
03.02.2011, 18:24  [ТС] 14
asics, все дело в том, что я - самоучка, а норм статью про строчные массивы найти не могу.
И по тому что ни разу не читал/слушал о строках, понял с большим трудом то что вы все пытались до меня донести...

panicwassano Не могли бы вы подсказать хорошую статью в интернете???
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.02.2011, 18:28 15
Flying_Man, нужно не статьи читать, а хорошие учебники, в которых информация подается систематически, чтобы не было так, что "нахватался тут, нахватался там, а в итоге ничего не знаю"
2
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
03.02.2011, 19:07 16
Flying_Man, Товарищ, верь взойдет она...
Ну да, о чем это я... Так вот. Лучше почитать про string. И не стоит юзать С-функции к string. Кроме определенных случаев.
1
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 28
03.02.2011, 21:28  [ТС] 17
Ок! Всем спасибо...
0
03.02.2011, 21:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2011, 21:28
Помогаю со студенческими работами здесь

Почему strlen "видит" больше символов чем есть?
Доброе утро (день,ночь ,у кого что:) ). В общем пытаясь решить данную проблему...

Почему смена текста работает только один раз? Что неправильно в коде и почему?
Нужно чтобы при щелчке мыши на поверхности кнопки текст метки Label изменялся на текст окна...

Почему выводится в виде таблицы и почему не работает сортировка
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы...

Ноутбук работает только с Wi Fi роутера дома, в кафе не работает и везде. Почему?
Подскажите пожалуйста, почему у меня ноутбук с виндой 7, работает вай фай только дома с роутера. А...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru