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

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

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

Не понимаю, почему не работает стандартная функция strlen - C++

12.12.2012, 10:50. Просмотров 833. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
 
#include "string.h"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    char str = "helloworld";
    cout<< strlen(str);
    int n;
    cin>>n;
    return 0;
}
почему не работает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 10:50     Не понимаю, почему не работает стандартная функция strlen
Посмотрите здесь:

Почему-то на работает функция!( C++
C++ Почему не работает strlen()???
Почему не работает функция? C++
Почему не работает функция? C++
функция strlen C++
Не понимаю как работает эта функция C++
Что выполняет функция strlen()? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CableGuy
14 / 14 / 1
Регистрация: 29.03.2012
Сообщений: 41
12.12.2012, 10:54     Не понимаю, почему не работает стандартная функция strlen #2
C++
1
#include "string.h"
C++
1
char str = "helloworld";
замените на
C++
1
#include <string>
C++
1
string str = "helloworld";
и в конце, если хотите остановить программу, то пишите
C++
1
system( "pause" );
вместо
C++
1
2
int n;
cin>>n;
Байт
Эксперт C
15551 / 9893 / 1487
Регистрация: 24.12.2010
Сообщений: 18,507
12.12.2012, 12:42     Не понимаю, почему не работает стандартная функция strlen #3
C
1
char *str = "helloworld";
ivanDevelop
1 / 1 / 0
Регистрация: 24.11.2012
Сообщений: 16
12.12.2012, 15:57  [ТС]     Не понимаю, почему не работает стандартная функция strlen #4
Цитата Сообщение от CableGuy Посмотреть сообщение
C++
1
#include "string.h"
C++
1
char str = "helloworld";
замените на
C++
1
#include <string>
C++
1
string str = "helloworld";
и в конце, если хотите остановить программу, то пишите
C++
1
system( "pause" );
вместо
C++
1
2
int n;
cin>>n;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
   string str = "helloworld";
   r = strlen(str)
   cout<< r;
   system("pause");
   return 0;
}
не работает

Добавлено через 14 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
  int r;
  string str = "helloworld";
  r = strlen(str);
  cout<< r;
  system("pause");
  return 0;
}
Код
Ошибка	1	error C2664: strlen: невозможно преобразовать параметр 1 из 'std::string' в 'const char *'
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.12.2012, 16:45     Не понимаю, почему не работает стандартная функция strlen #5
ivanDevelop, str.size() очевидным образом же.
dmmax
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 81
12.12.2012, 16:50     Не понимаю, почему не работает стандартная функция strlen #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <iostream>
 
using namespace std;
 
int main(){
    char str[] = "helloworld";
    cout << strlen(str);
 
 
    system("pause");
}
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2012, 16:59     Не понимаю, почему не работает стандартная функция strlen #7
Цитата Сообщение от dmmax Посмотреть сообщение
cout << strlen(str);
Не забываем про std::endl

Не по теме:

Цитата Сообщение от ForEveR Посмотреть сообщение
ivanDevelop, str.size() очевидным образом же.
У Вас все очевидно.
Еще есть str.length(); для тех кто привык.
Но очевидно и то, что ТСу нужна Си-строка с нуль-терминатором для функции strlen, а не класс std::string



Цитата Сообщение от ivanDevelop Посмотреть сообщение
#include "string.h"
C++
1
#include <cstring>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 18:24     Не понимаю, почему не работает стандартная функция strlen
Еще ссылки по теме:

почему не работает функция? C++
C++ Не понимаю, что не так, почему не работает
C++ Не работает функция strlen
Не понимаю как работает функция malloc C++
Проверить правильность написания заглавных букв в текстовом файле (не понимаю, почему программа не работает) C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
12.12.2012, 18:24     Не понимаю, почему не работает стандартная функция strlen #8
go, Ну. Посоветовали ему string, он написал string, открыть доку прочитать, если не понятно - вроде как очевидный поступок.
Yandex
Объявления
12.12.2012, 18:24     Не понимаю, почему не работает стандартная функция strlen
Ответ Создать тему
Опции темы

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