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

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

Восстановить пароль Регистрация
 
ivanDevelop
1 / 1 / 0
Регистрация: 24.11.2012
Сообщений: 16
12.12.2012, 10:50     Не понимаю, почему не работает стандартная функция strlen #1
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++ Почему не работает strlen()???
Почему не работает функция? C++
функция strlen C++
Не понимаю как работает эта функция C++
почему не работает функция? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CableGuy
 Аватар для 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;
Байт
 Аватар для Байт
13961 / 8792 / 1223
Регистрация: 24.12.2010
Сообщений: 15,925
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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2012, 16:45     Не понимаю, почему не работает стандартная функция strlen #5
ivanDevelop, str.size() очевидным образом же.
dmmax
 Аватар для 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++
3582 / 1362 / 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++ Не работает функция strlen
Не понимаю как работает функция malloc C++

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

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

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