С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.81
Flying_Man
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 28
#1

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

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

Код программы:
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!!!---)))
Для продолжения нажмите любую клавишу . . .

Не по теме:

Ну почему у меня все не работает???

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2011, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему не работает strlen()??? (C++):

Не понимаю, почему не работает стандартная функция strlen - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;string.h&quot; using namespace std; int _tmain(int argc, _TCHAR* argv) { ...

Не работает strlen - C++
сабж не могу взять длину строки функция определения возвращает не понятные значения #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; ...

Не работает функция strlen - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; int main() { string s; int n=0,i=0,j=0,length=0; ...

Почему выводится в виде таблицы и почему не работает сортировка - C++
почему выводится в виде таблицы? почему не работает сортировка? и как туда можно вставить классы комнат? hotel.h #include...

Почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает - C++
почему программа не работает на MFC статичной библиотеки. а вот на стандартном мфс работает. Имею в ввиду что сделал прогу которая меняет...

Почему не работает cin.clear() и как работает sync()? - C++
#include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; char*input(char*ch,int&amp;n){ cin.getline(ch,20); //cin.sync(); ...

16
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
03.02.2011, 17:49 #2
тебе же компилятор пишет ошибку, что функция принимает параметр типа const char* а не string
C++
1
d=strlen(s.c_str());
1
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
03.02.2011, 17:51 #3
C++
1
d=strlen(s.c_str());
А вообще, чем не устраивает s.size() ?
2
Escapable
54 / 54 / 1
Регистрация: 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
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
03.02.2011, 17:55 #5
а вы что по вашему вводите символьный массив чтоли?)))
1
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 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
Если ты вдруг не заметил, то я тебя просвещу: Ты находишся в разделе "С/С++ для начинающих" , по этому я из твоей фразы (без дополнения) не получил НИЧЕГО полезного. А вообще спасибо!

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

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

panicwassano Не могли бы вы подсказать хорошую статью в интернете???
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
03.02.2011, 18:28 #15
Flying_Man, нужно не статьи читать, а хорошие учебники, в которых информация подается систематически, чтобы не было так, что "нахватался тут, нахватался там, а в итоге ничего не знаю"
2
03.02.2011, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2011, 18:28
Привет! Вот еще темы с ответами:

Не могу понять почему не работает (или правильно не работает) - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; int i,j; cout&lt;&lt;&quot;nachalnya...

Почему в динамическом массиве не работает то, что работает со статическим? - C++
Программа зависает #include&lt;iostream&gt; #include&lt;stdlib.h&gt; #include&lt;time.h&gt; using namespace std; int main() { ...

Почему в библиотеке не работает то, что спокойно работает в программе? - C++
День всем добрый! Я здесь решил собрать библиотеку для конструктора игр Game Maker. Хотел поэкспериментировать. Как всегда, у...

Теория. Почему в данном случае copy() не работает после reserve(), но работает после resize()? - C++
Есть такая функция: void Array::SetStartIndexes(sz3_Arr_t *array) { start_index.reserve(array-&gt;size()); ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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