Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 21:32   #1
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию проблема с strlen

Подскажите пжл, почему QT выкидывает ошибку:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
string str="qwe"; char cha[]="qwe";
cout<<"STRING strlen - "<<strlen(str)<<"\n"; //в этой строке ошибка
cout<<"CHAR strlen - "<<strlen(cha)<<"\n";
}
(Sandr) вне форума Ответить с цитированием
Старый 13.01.2011, 21:40   #2
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию

Код:
size_t strlen ( const char * str );
Ну функция как бы и не может принимать объект string в качестве аргумента.
Но можно использовать
Код:
string str="qwe";
cout<<"STRING strlen - "<<strlen(str.c_str())<<"\n";
http://www.cplusplus.com/reference/string/string/c_str/
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Старый 13.01.2011, 22:04   #3
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

Спасибо)) Вот ещё последний вопрос, как сделать так, чтоб пользователь вводил предложение, а программа разбирала это предложение на отдельные слова, опредиляла кличество символов в каждом слове и выводила эти слова по мере возрстания(или убывания) в них количества символов. например, было такое предложение: "Вакансии и резюме программистов!" (без ковычек) а программа разбила его на составляющие, и вывела так: "и резюме Вакансии программистов!".
(Sandr) вне форума Ответить с цитированием
Старый 13.01.2011, 23:24   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Код:
#include <algorithm>
#include <iostream>
#include <sstream>
#include <string>
#include <iterator>
#include <vector>

using namespace std;

bool Cmp(const string &s1, const string &s2)
{ return s1.length() < s2.length(); }

int main()
{
	string str = "Вакансии и резюме программистов!";
	stringstream ss(str);
	vector<string> v;
	copy(istream_iterator<string>(ss), istream_iterator<string>(), back_inserter(v));
	sort(v.begin(), v.end(), Cmp);
	copy(v.begin(), v.end(), ostream_iterator<string>(cout, " "));
	return 0;
}
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 13.01.2011, 23:39   #5
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

оо.. неосилил)) Если можно, можешь прокомментировать всё, кроме инклудов iostream и string? или может есть какой-нибудь другой способ, по проще?
(Sandr) вне форума Ответить с цитированием
Старый 13.01.2011, 23:43   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

это самый простой и правильный с++ способ. на qt конечно желательно юзать кутешные алгоритмы и контейнеры.
по другому писать слишком уж влом
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 14.01.2011, 00:28   #7
(Sandr)
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

мне не нужен код для qt, мне было нужно то, что ты сейчас прислал)) Только вот много вопросов появилось. Но, зато есть что искать. Спасибо)

Последний раз редактировалось (Sandr); 14.01.2011 в 00:34.
(Sandr) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с функцией strlen в Си Александр74 Помощь студентам 4 03.01.2010 18:58
strlen,strcpy,strcmp(Visual C++) crit Visual C++ 14 09.04.2009 19:10
Объясните, как работает функция strlen() TheWanderer Общие вопросы C/C++ 9 25.11.2008 22:46