//---------------------------------------------------------------------------
[COLOR="SeaGreen"]#include<string.h>[/COLOR] // strncpy
[COLOR="SeaGreen"]#include<stdio.h>[/COLOR] // printf
[COLOR="SeaGreen"]#include<stdlib.h>[/COLOR] // malloc
const int N = 5;
const int M = 5;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char str[] = "Hello word!";
char *sub_str = (char *)malloc(N + 1); [COLOR="Silver"]// Выделяем память под приемник результирующей строки[/COLOR]
strncpy(sub_str, str + M, N); [COLOR="Silver"]// Копируем N символов с позиции M[/COLOR]
sub_str[N] = '\0'; [COLOR="Silver"]// !!! Необходимо закрыть строку[/COLOR]
printf("%s\n", sub_str);
getchar();
return 0;
}
//---------------------------------------------------------------------------
Help: Строки
Помню что как то можно, а как не знаю.
char *strncpy(char *dest, const char *scr, size_t n), т.е. чтобы вырезать N символов, с позиции M:
Код:
библиотека STL C++:
basic_string substr(size_type pos = 0, size_type n = npos) const;
Код:
//---------------------------------------------------------------------------
[COLOR="SeaGreen"]#include<iostream>[/COLOR] // Работа с потокам cout
[COLOR="SeaGreen"]#include<string>[/COLOR] // тип string
using namespace std;
const int N = 5;
const int M = 5;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
string str("Hello word!");
string sub_str;
sub_str = str.substr(M, N);
cout << sub_str;
getchar();
return 0;
}
//---------------------------------------------------------------------------
[COLOR="SeaGreen"]#include<iostream>[/COLOR] // Работа с потокам cout
[COLOR="SeaGreen"]#include<string>[/COLOR] // тип string
using namespace std;
const int N = 5;
const int M = 5;
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
string str("Hello word!");
string sub_str;
sub_str = str.substr(M, N);
cout << sub_str;
getchar();
return 0;
}
//---------------------------------------------------------------------------