📄 test_yc_dyrscarr.c
字号:
dyrscarr_erase_range( &strarr, first, last );
break;
}
case 8:
{
size_t index = 0, count = 0;
printf( "please input insert index:\n" );
scanf( "%u", &index );
printf( "please input insert count:\n" );
scanf( "%u", &count );
printf( "please input insert string:\n" );
getchar();
ncstr_getline( &dstr, '\n' );
if( false == dyrscarr_insert_value(&strarr, index, &dstr, count) )
printf( "return false!\n" );
else
PrintStrArray( &strarr );
break;
}
case 9:
{
size_t index = 0, count = 0;
dyrscarray strarr1;
dyrscarr_init( &strarr1, sizeof(ncstring),(ylib_fp_oper_t)ncstr_init,
(ylib_fp_copy_t)ncstr_init_copy, (ylib_fp_copy_t)ncstr_assign_copy,
(ylib_fp_move_t)ncstr_init_move, (ylib_fp_move_t)ncstr_assign_move,
DestroyString, pool_alloc, pool_free );
printf( "please input insert index:\n" );
scanf( "%u", &index );
printf( "\n\nplease input insert strings:\n" );
GetStrings( &strarr1, &dstr );
printf( "please input insert count:\n" );
scanf( "%u", &count );
if( false == dyrscarr_insert_array(&strarr, index, strarr1.m_start,
count) )
printf( "return false!\n" );
else
PrintStrArray( &strarr );
dyrscarr_destroy( &strarr1 );
break;
}
case 10:
{
GetStrings( &strarr, &dstr );
PrintStrArray( &strarr );
break;
}
case 11:
{
size_t len = 0;
printf( "please input a string:\n" );
getchar();
ncstr_getline( &dstr, '\n' );
printf( "please input new length:\n" );
scanf( "%u", &len );
if( false == dyrscarr_resize(&strarr, len, &dstr) )
printf( "return false!" );
else
PrintStrArray( &strarr );
break;
}
case 12:
{
size_t index = 0, old_count = 0, new_count = 0;
printf( "please input replace index:\n" );
scanf( "%u", &index );
printf( "please input replace string:\n" );
getchar();
ncstr_getline( &dstr, '\n' );
printf( "please input old count:\n" );
scanf( "%u", &old_count );
printf( "please input new count:\n" );
scanf( "%u", &new_count );
if( false == dyrscarr_replace_fill( &strarr, index, old_count,
&dstr, new_count ) )
printf( "return false!\n" );
else
PrintStrArray( &strarr );
break;
}
case 13:
{
size_t index = 0, old_count = 0, new_count = 0;
dyrscarray strarr1;
dyrscarr_init( &strarr1, sizeof(ncstring), (ylib_fp_oper_t)ncstr_init,
(ylib_fp_copy_t)ncstr_init_copy, (ylib_fp_copy_t)ncstr_assign_copy,
(ylib_fp_move_t)ncstr_init_move, (ylib_fp_move_t)ncstr_assign_move,
DestroyString, pool_alloc, pool_free );
printf( "please input replace index:\n" );
scanf( "%u", &index );
printf( "\n\nplease input replace strings:\n" );
GetStrings( &strarr1, &dstr );
printf( "please input old count:\n" );
scanf( "%u", &old_count );
printf( "please input new count:\n" );
scanf( "%u", &new_count );
if( false == dyrscarr_replace_array( &strarr, index, old_count,
strarr1.m_start, new_count ) )
printf( "return false!\n" );
else
PrintStrArray( &strarr );
dyrscarr_destroy( &strarr1 );
break;
}
case 14:
{
printf( "max size of string array: %u\n", dyrscarr_max_size(&strarr) );
break;
}
case 15:
{
printf( "size of string array: %u\n", dyrscarr_size(&strarr) );
break;
}
case 16:
{
printf( "capacity of string array: %u\n", dyrscarr_capacity(&strarr) );
break;
}
case 17:
{
printf( "space of string array: %u\n", dyrscarr_space(&strarr) );
break;
}
case 18:
{
printf( "address of begin: %p\n", dyrscarr_begin(&strarr) );
break;
}
case 19:
{
printf( "address of end: %p\n", dyrscarr_end(&strarr) );
break;
}
case 20:
{
printf( "front of strings: %s\n",
ncstr_to_string( (ncstring*)dyrscarr_front(&strarr) ) );
break;
}
case 21:
{
printf( "back of strings: %s\n",
ncstr_to_string( (ncstring*)dyrscarr_back(&strarr) ) );
break;
}
case 22:
{
size_t index = 0;
printf( "please input index:\n" );
scanf( "%u", &index );
printf( "string[%u]: %s\n", index,
ncstr_to_string( (ncstring*)dyrscarr_index(&strarr, index) ) );
break;
}
case 23:
{
size_t index = 0;
ncstring* pstr = NULL;
printf( "please input index:\n" );
scanf( "%u", &index );
if( NULL != (pstr = (ncstring*)dyrscarr_at(&strarr, index)) )
printf( "string[%u]: %s\n", index, ncstr_to_string(pstr) );
else
printf( "out of range!\n" );
break;
}
case 24:
{
dyrscarr_pop_back( &strarr );
PrintStrArray( &strarr );
break;
}
case 25:
{
dyrscarr_reverse( &strarr );
PrintStrArray( &strarr );
break;
}
case 26:
{
quicksort( dyrscarr_begin(&strarr), dyrscarr_size(&strarr),
sizeof(ncstring), (ylib_fp_cmp_t)cmp_ncstring,
(ylib_fp_move_t)ncstr_assign_move );
}
case 27:
{
PrintStrArray( &strarr );
}
default:
break;
}
printf( "\npress any key to continue\n" );
getchar();
getchar();
}
EXIT:
printf( "destroy dyrscarray:\n" );
dyrscarr_destroy( &strarr );
ncstr_destroy( &dstr );
printf( "\n\n\n" );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -