Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Visual C++ / С/C++

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 11.03.2008, 13:58   #1
Неактивный пользователь
 
Аватар для BFTFenix
 
Пол:Мужской
Регистрация: 11.12.2007
Сообщений: 50
Репутация: 13
По умолчанию Функции работы со строками

Подскожите где найти полный список этих функций и их описание.
И еще вопрос:
Код:
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
int main()
{
        char *s;
        int n;
        cout <<"Enters text\n";
        gets(s);
        n=strlen(s);
        cout <<'\n'<<n;
        getch();
        return 0;
}
я хочу что бы это программа воспринемал текст, с наперед не известным количеством символов, а потом выводило их количество.
Но она виснет, где ошибка?
__________________
Больше всего человек удивляет когда, кажется, что полностью узнал его...

Последний раз редактировалось BFTFenix; 11.03.2008 в 14:30..
BFTFenix вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама:


Старый 11.03.2008, 14:42   #2
Shtab
Пользователь
 
Пол:Мужской
Регистрация: 04.03.2008
Сообщений: 68
Репутация: 16
По умолчанию Ответ: Функции работы со строками

У тебя s не char, а указатель на char, ты пытаешься strlen'om длинну его содержимого - в этом косяк. К тому же strlen сам по себе вроде в strings.h (могу в названии ошибаться), а ты его не проинклудил....

Функции работы со строками в strings.h чтоли.... сори если ошибся - в С++ давно не прогал....

По твоему получается, что юзер вводит значение указателя на значение типа char, а потом пытается определить длинну того, что по этому адресу существует.... - вот и виснет

Последний раз редактировалось Shtab; 11.03.2008 в 14:45..
Shtab вне форума
 
Ответить с цитированием Вверх
Старый 11.03.2008, 15:03   #3
BFTFenix
Неактивный пользователь
 
Аватар для BFTFenix
 
Пол:Мужской
Регистрация: 11.12.2007
Сообщений: 50
Репутация: 13
По умолчанию Ответ: Функции работы со строками

да, я сюда не скопировал строку #include <string.h> (слючайно).
а по поводу списка функций не подскажешь?
__________________
Больше всего человек удивляет когда, кажется, что полностью узнал его...
BFTFenix вне форума
 
Ответить с цитированием Вверх
Старый 11.03.2008, 15:08   #4
Shtab
Пользователь
 
Пол:Мужской
Регистрация: 04.03.2008
Сообщений: 68
Репутация: 16
По умолчанию Ответ: Функции работы со строками

Цитата:
Сообщение от BFTFenix Посмотреть сообщение
да, я сюда не скопировал строку #include <string.h> (слючайно).
а по поводу списка функций не подскажешь?

Дык открой файлик то string.h - там они все и перечислены, с коментами даже.
Shtab вне форума
 
Ответить с цитированием Вверх
Старый 11.03.2008, 15:11   #5
BFTFenix
Неактивный пользователь
 
Аватар для BFTFenix
 
Пол:Мужской
Регистрация: 11.12.2007
Сообщений: 50
Репутация: 13
По умолчанию Ответ: Функции работы со строками

Цитата:
Сообщение от Shtab Посмотреть сообщение
Дык открой файлик то string.h - там они все и перечислены, с коментами даже.

На английском..., а это весьма печально в моем случае.
Может так подскажешь ссылку на страницу в и-нете или на книжку толковую.
__________________
Больше всего человек удивляет когда, кажется, что полностью узнал его...
BFTFenix вне форума
 
Ответить с цитированием Вверх
Старый 11.03.2008, 16:58   #6
pluton
ViP
 
Аватар для pluton
 
Пол:Мужской
Регистрация: 23.02.2007
Сообщений: 1,027
Репутация: 560
По умолчанию Ответ: Функции работы со строками

BFTFenix, тоже на англицком, зато официальный ман по libc:
http://www.gnu.org/software/libc/man...rray-Utilities
__________________
THE TRUTH IS OUT THERE
pluton вне форума
 
Ответить с цитированием Вверх
Старый 11.03.2008, 21:14   #7
Shtab
Пользователь
 
Пол:Мужской
Регистрация: 04.03.2008
Сообщений: 68
Репутация: 16
По умолчанию Ответ: Функции работы со строками

Цитата:
Сообщение от BFTFenix Посмотреть сообщение
На английском..., а это весьма печально в моем случае.
Может так подскажешь ссылку на страницу в и-нете или на книжку толковую.

Стэнли Б. Липпман "С++ для начинающих" - там про работу со строками хорошо написано.
Shtab вне форума
 
Ответить с цитированием Вверх
Старый 11.03.2008, 22:27   #8
zss
Постоялец
 
Пол:Мужской
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
По умолчанию Ответ: Функции работы со строками

Вместо
char *s;
Надо писать
char s[200];
И все должно получиться
__________________
Сергей Сергеевич
zss вне форума
 
Ответить с цитированием Вверх
Старый 14.03.2008, 17:51   #9
Baller
Неактивный пользователь
 
Пол:Мужской
Регистрация: 28.01.2008
Сообщений: 26
Репутация: 5
По умолчанию Ответ: Функции работы со строками

а если уж совсем придерживаться "буквы" С++, то лучше сделать что-нить вроде этого:
Код:
#include <iostream>
#include <string>
#include <conio.h>

using namespace std;

int main()
{
    cout << "Enter text:" << endl;

    string s;
    cin >> s;

    cout << "length is " << s.length() << endl;
    getch();
    return 0;
}
Baller вне форума
 
Ответить с цитированием Вверх
Старый 30.04.2008, 16:58   #10
seimur
Неактивный пользователь
 
Пол:Мужской
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
По умолчанию Ответ: Функции работы со строками

Не совсем верно. Пробел является разделителем поэтому если при вводе есть пробел или табуляция, то cin обрубит введённый текс..
seimur вне форума
 
Ответить с цитированием Вверх
Старый 03.05.2008, 18:08   #11
pozniakov
Новичок
 
Аватар для pozniakov
 
Пол:Мужской
Регистрация: 06.08.2006
Сообщений: 6
Репутация: 67
По умолчанию Ответ: Функции работы со строками

Верно, приработе со строками лучше использовать ф-цию cin.get(), которая учитывает пробелы и заканчивает ввод после знака конца строки '\0' или последнего по счету элемента.

Последний раз редактировалось pozniakov; 03.05.2008 в 18:14..
pozniakov вне форума
 
Ответить с цитированием Вверх
Старый 03.05.2008, 18:30   #12
seimur
Неактивный пользователь
 
Пол:Мужской
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
По умолчанию Ответ: Функции работы со строками

Если я не ошибаюсь, то не после '\0', а после нажатия на enter '\n' или признака конца файла Ctrl-Z.
seimur вне форума
 
Ответить с цитированием Вверх
Старый 11.05.2008, 23:59   #13
BFTFenix
Неактивный пользователь
 
Аватар для BFTFenix
 
Пол:Мужской
Регистрация: 11.12.2007
Сообщений: 50
Репутация: 13
По умолчанию Ответ: Функции работы со строками

вот нашел инфу и решил сюда выложить, вдруг понадобится кому-нибудь.

Функции копирования:
char *strcpy (char* s1, const char* s2) строку s2 копирует в s1;
char *strncpy (char* s1,const char* s2, size_t count) копирует не более count символов из строки s2 в s1;
char *strdup (const char *s) выделяет память для хранения копии строки, на которую указывает s, копирует эту строку в выделенную область и воз-вращает указатель на неё.

Функции соединения строк:
char *strcat (char* s1, const char* s2) строку s2 присоединяет к строке s1;
char *strncat (char* s1, const char* s2, size_t count) не более count симво-лов из строки s2 присоединяет к строке s1.

Функции поиска:
char * strchr ( const char* s, char c) находит первое вхождение символа с в строку s. Возвращает указатель на найденный символ или NULL, если сим-вол не обнаружен;
char * strrchr ( const char* s, char c) находит последнее вхождение сим-вола с в строку s. Возвращает указатель на найденный символ или NULL, ес-ли символ не обнаружен;
char * strstr ( const char* s, const char* substr) ищет в s первое вхождение подстроки substr. Возвращает указатель на первый символ найденной под-строки или NULL, если такая подстрока не найдена;
char *strpbrk ( const char *s1, const char *s2) — возвращает указатель на первый символ в строке s1, совпадающий с каким-нибудь из символов строки s2. При этом нулевые символы в конце строки в рассмотрение не включают-ся;
char * strtok ( const char* s1, const char* s2) возвращает указатель на сле-дующую лексему (часть строки) в строке s1. Символы строки s2 используют-ся как ограничители, определяющие лексему. Как и в других функциях поис-ка, если лексема не найдена, возвращается NULL.

Функции преобразования строк:
char * strupr ( char* s) английские буквы нижнего регистра (“малень-кие”) строки, на которую указывает s, преобразует в соответствующие буквы верхнего регистра (в “большие”). Остальные символы не меняются;
char * strlwr ( char* s) английские буквы верхнего регистра (прописные) строки, на которую указывает s, преобразует в соответствующие буквы ниж-него регистра (в “маленькие”). Остальные символы не меняются.
__________________
Больше всего человек удивляет когда, кажется, что полностью узнал его...

Последний раз редактировалось BFTFenix; 12.05.2008 в 00:06..
BFTFenix вне форума
 
Ответить с цитированием Вверх
Старый 14.05.2008, 15:58   #14
Noobeum
Неактивный пользователь
 
Регистрация: 14.05.2008
Сообщений: 1
Репутация: 0
По умолчанию Ответ: Функции работы со строками



имхо юзать спп и досовский ввод - устарело.

у cin есть getline, считывает сроку целиком
Noobeum вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функции из dll Dr Evil Delphi 17 12.10.2010 23:50
Компоненты для работы со строками Padre_Romari Delphi 7 05.02.2010 12:58
Интервалы между строками strmask HTML 2 18.09.2009 17:04
Функции по работе с HDD Indian .NET 1 05.02.2008 18:20

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:11. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.10074 секунды с 11 запросами