С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
40 / 38 / 5
Регистрация: 22.01.2011
Сообщений: 670
1

Где посмотреть исходники типа string

03.03.2011, 10:17. Показов 4773. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите плиз где посмотреть исходники типа string. Тоесть интересует методы работы со строками, а точнее как они устроены. Допустим string.append, insert. И интересует как устроены стандартные функции, такие как strlen, strcpy. Это реально посмотреть?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2011, 10:17
Ответы с готовыми решениями:

Подскажите где можно посмотреть исходники
Подскажите где можно посмотреть исходники законченых программ на С++, активно использующих ООП:...

Поле типа string в классе, как и где лежит?
Всем привет! Возник теоретический вопрос. Когда я создаю свой класс и в нем добавляю поле типа...

Присвоение объекту типа string рандомный элемент из массива типа string
Добрый вечер, дорогие форумчане. Я столкнулся с проблемой. Как присвоить объекту типа string...

Где можно посмотреть исходники WinRar?
Просто интересно. Есть текстовый файл. Я знаю его содержимое.(частично) Первую строку точно. ...

10
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
03.03.2011, 10:46 2
В Майкрософт обращайся.)
1
40 / 38 / 5
Регистрация: 22.01.2011
Сообщений: 670
03.03.2011, 10:57  [ТС] 3
тогда пример небольшой можно? Допустим как вырезать из строки допустим из 5 слов, как вырезать какоето слово без использования станд-х функций? Я примерно знаю, несколькими циклами for.
А короче можно?
1
25 / 29 / 12
Регистрация: 28.02.2011
Сообщений: 74
03.03.2011, 11:00 4
В среде разработки напиши string и щелкни левой кнопкой мыши по string зажав клавишу Ctrl. Ты перейдешь в модуль где описана эта функция.
1
40 / 38 / 5
Регистрация: 22.01.2011
Сообщений: 670
03.03.2011, 11:06  [ТС] 5
что за модули? С обычными прототипами функций? Или с исходниками? Если с исходниками то конечно установлю по новей версию. У меня Visual Studio 6
0
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
03.03.2011, 11:09 6
dimon1984, Для чего тебе это? Если знаеш как, без использования стндартных функций - уже хорошо. А так, пройдись хотя бы тем же дебагом по этим самым функциям, и если волокешь в асме, то примерно уже сможешь составть себе представление об их работе.
CASPER_32, +1. Верной дорогой...
0
25 / 29 / 12
Регистрация: 28.02.2011
Сообщений: 74
03.03.2011, 11:13 7
Цитата Сообщение от dimon1984 Посмотреть сообщение
что за модули? С обычными прототипами функций? Или с исходниками? Если с исходниками то конечно установлю по новей версию. У меня Visual Studio 6
Обычная функция в исходном коде твойе программы, не обязательно прототип.
0
40 / 38 / 5
Регистрация: 22.01.2011
Сообщений: 670
03.03.2011, 12:18  [ТС] 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main ( )
{
    char s[]="stroka iz kotoroy nado virezat slovo";
    s[strlen(s)]=0;
    cout<<s<<endl;
    char p[]="virezat";// cin>>p;
    for(int x=0;x<strlen(s);x++)
    {
        int n=x,n1=x;
        if(s[x-1]==' ' && s[x]==p[0] && s[x+1]==p[1] || \
            x==0 && s[x]==p[0] && s[x+1]==p[1])
        {
            while(s[n++]!=' ');
            while(s[n]!=0)
            {
                s[n1]=s[n];
                n1++;n++;
            }
            s[n1]=0;
        }
    }
    cout<<s<<endl;
как ещё проще можно вырезать слово из предложения?
0
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
03.03.2011, 12:30 9
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string>
#include <iostream>
int main()
{
    std::string parse_string = "hi there dude",word,wordToFind;
    std::string::size_type beg_idx = 0, end_idx = 0;
    const std::string delim_string (" ,.?!");
    while(std::string::npos != (beg_idx = parse_string.find_first_not_of( delim_string, end_idx )))
    {
        if ( std::string::npos == (end_idx = parse_string.find_first_of( delim_string, beg_idx )) )
        {
            word = parse_string.substr ( beg_idx );
            std::cout << word << std::endl;
        }
        else
        {
            word = parse_string.substr ( beg_idx, end_idx - beg_idx );
            std::cout << word << std::endl;
        }
    }
    system("pause");
    return 0;
}
1
7 / 7 / 1
Регистрация: 02.03.2011
Сообщений: 19
03.03.2011, 13:19 10
C++
1
2
3
4
5
6
7
8
9
10
    char s[]="stroka iz kotoroy nado virezat slovo";
    char p[]="virezat";
 
    for (;char * ptr = strstr(s,p);)
        strncpy_s(ptr,sizeof(s),ptr+strlen(p),strlen(ptr)-strlen(p));
 
    std::cout << s;
 
    system("pause");
    return 0;
1
40 / 38 / 5
Регистрация: 22.01.2011
Сообщений: 670
03.03.2011, 13:44  [ТС] 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main ( )
{
        char s[]="stroka iz kotoroy nado virezat slovo";
        cout<<s<<endl;
        char p[]="virezat";// cin>>p;
        for(int x=0;x<50;x++)
        {
                if(s[x]==0) break; //выход из цикла если конец строки
                int n=x,n1=x;
                if(s[x-1]==' ' && s[x]==p[0] && s[x+1]==p[1] || \
                        x==0 && s[x]==p[0] && s[x+1]==p[1])
                {
                        while(s[n++]!=' ');
                        while(s[n]!=0)
                        {
                                s[n1]=s[n];
                                n1++;n++;
                        }
                        s[n1]=0;
                }
        }
        cout<<s<<endl;
а без использования станд-х функций можно?
тоесть хотелось бы посмотреть какие ещё есть попроще методы
0
03.03.2011, 13:44
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.03.2011, 13:44
Помогаю со студенческими работами здесь

Где посмотреть исходники системных классов
Хочу посмотреть исходники например класса Console. Захожу в определения а там комментарии только....

Где можно посмотреть исходники шаблонов проектов для C#?
Где можно посмотреть исходники шаблонов проектов для C#?

Где можно посмотреть примеры (исходники) работы с базой данных на C#
Где можно посмотреть примеры (исходники) работы с базой данных на C#, работа с XML,SQL. Просто не...

Как и где объявлять глобальные переменные типа String?
Извините за нубовский вопрос, но никак не могу разобраться где и как объявлять глобальные...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru