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

Си-шные строки, как вытащить подстроку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определение внешнего IP адреса http://www.cyberforum.ru/cpp-beginners/thread513055.html
Необходимо определять внешний IP адрес. Задача усложнена тем, что много пользователей сидят за NAT'ом. Находил примеры где ip получают через сайты (типо myip_ru или ippages_com) Но это всё костыльные решения, т.к. формат не стандартизирован и в любой момент данная зависимость может перестать работать (либо сдохнет сайт, либо его админы решат сменить формат, либо еще что-то... вплодь до выдачи...
C++ Удалить строку и столбец целочисленной квадратной матрицы Дана целочисленная квадратная матрица порядка n. Удалить из нее строку и столбец, на пересечении которых находится максимальный элемент (считаем, что он один). Добавлено через 11 часов 46 минут помогите,пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread513049.html
C++ C++, Программа-фильтр , циклические процессы..
Завтра сдавать, не поманию как... 1) С помощью оператора цикла с постусловием напишите программу-фильтр, которая вводит любые символы, но комментирует только буквы русского алфавита. Завершение работы - по нажатию буквы ‘Я’. 2)
C++ Bool переменные - как записать таблицы истинности функции, используя цикл
Пусть есть 4 переменых типа bool (x1, x2, x3 ,x4) и логическая функция (y = !x1 x3 + x2!x4) как записать таблицы истинности даной функции используя цыкл?
C++ Адаптировать задачу для работы с файлом http://www.cyberforum.ru/cpp-beginners/thread513038.html
Дали такое задание: написать функцию revpositn которая которая принмает два параметра str1,str2 типа string и возвращает позицию начала первого появления в str1 текста содержащего литеры str2 в обратном порядке. Другими словами при вводе слов vnesnos sen выведет 2. Теперь суть проблемы. Написать программу я написал, и она работает: #include <iostream> #include <stdio.h> #include <string> ...
C++ Реализация класса "Время" Помогите в реализации класса 1.разность двух времен в секундах, 2.прибавление ко времени одной секунды, 3.сравнение двух времен, Заранее спасибо! Добавлено через 57 секунд #include "stdafx.h" #include <iostream> подробнее

Показать сообщение отдельно
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
05.03.2012, 23:11     Си-шные строки, как вытащить подстроку
Не припомню. Но вот почему бы самому не реализовать? Вот список функций для char* (хедер string.h) http://www.cplusplus.com/reference/clibrary/cstring/

Добавлено через 4 минуты
Цитата Сообщение от go Посмотреть сообщение
Но вот почему бы самому не реализовать?
Например так
C
1
2
3
4
5
6
const char* const substr(char* s, size_t pos, size_t count)
{
   static char buf[BUFSIZ];
   memset(buf, '\0', BUFSIZ);
   return strncpy(buf, s + pos, count);
}
Добавлено через 25 минут
А лучше так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
 
const char* const substr(char* s, size_t pos, size_t count)
{
   static char buf[BUFSIZ];
   buf[sizeof buf - 1] = '\0';
   if ( count >= BUFSIZ )
      return NULL;
   else
      return strncpy(buf, s + pos, count);
}
 
int main(void)
{
   char *s = "Hello world";
   printf("%s\n", substr(s, 6, 5));
}
http://liveworkspace.org/code/19f593...9c50a3e9e54a44
 
Текущее время: 14:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru