📄 test_yc_dymemarr.c
字号:
}
case 8:
{
size_t index = 0, count = 0;
char c[8] = {0};
printf( "before string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
printf( "please input insert index:\n" );
scanf( "%u", &index );
printf( "please input a character:\n" );
scanf( "%s", c );
printf( "please input insert count:\n" );
scanf( "%u", &count );
if( false == dymemarr_insert_value(&dstr, index, c, count) )
printf( "return false!\n" );
else
printf( "after string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
break;
}
case 9:
{
size_t index = 0, count = 0;
char str[128] = {0};
printf( "before string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
printf( "please input a string:\n" );
scanf( "%s", str );
printf( "please input insert index:\n" );
scanf( "%u", &index );
printf( "please input insert count:\n" );
scanf( "%u", &count );
if( false == dymemarr_insert_array(&dstr, index, str, count) )
printf( "return false!\n" );
else
printf( "after string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
break;
}
case 10:
{
char c[8] = {0};
while( 1 )
{
printf( "\nplease input a character, input '0' to exit:\n" );
scanf( "%s", c );
if( '0' == c[0] )
break;
/* DYMEMARR_PUSH_BACK( dstr, c[0], char );
*/ if( false == dymemarr_push_back(&dstr, c) )
printf( "return false!\n" );
}
break;
}
case 11:
{
size_t len = 0;
char c[8] = {0};
printf( "before string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
printf( "please input new length:\n" );
scanf( "%u", &len );
printf( "please input a character:\n" );
scanf( "%s", c );
if( false == dymemarr_resize(&dstr, len, c) )
printf( "return false!\n" );
else
printf( "after string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
break;
}
case 12:
{
size_t index = 0, old_count = 0, new_count = 0;
char c[8] = {0};
printf( "before string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
printf( "please input replace index:\n" );
scanf( "%u", &index );
printf( "please input a character:\n" );
scanf( "%s", c );
printf( "please input old count:\n" );
scanf( "%u", &old_count );
printf( "please input new count:\n" );
scanf( "%u", &new_count );
if( false == dymemarr_replace_fill( &dstr, index, old_count,
c, new_count ) )
printf( "return false!\n" );
else
printf( "after string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
break;
}
case 13:
{
size_t index = 0, old_count = 0, new_count = 0;
char str[128] = {0};
printf( "before string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
printf( "please input replace index:\n" );
scanf( "%u", &index );
printf( "please input a string:\n" );
scanf( "%s", str );
printf( "please input old count:\n" );
scanf( "%u", &old_count );
printf( "please input new count:\n" );
scanf( "%u", &new_count );
if( false == dymemarr_replace_array( &dstr, index, old_count,
str, new_count ) )
printf( "return false!\n" );
else
printf( "after string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
break;
}
case 14:
{
printf( "max size of string: %u\n", dymemarr_max_size(&dstr) );
break;
}
case 15:
{
printf( "size of string: %u\n", dymemarr_size(&dstr) );
break;
}
case 16:
{
printf( "capacity of string: %u\n", dymemarr_capacity(&dstr) );
break;
}
case 17:
{
printf( "space of string: %u\n", dymemarr_space(&dstr) );
break;
}
case 18:
{
printf( "address of begin: %p\n", dymemarr_begin(&dstr) );
break;
}
case 19:
{
printf( "address of end: %p\n", dymemarr_end(&dstr) );
break;
}
case 20:
{
printf( "front of string: %c\n", *((char*)dymemarr_front(&dstr)) );
break;
}
case 21:
{
printf( "back of string: %c\n", *((char*)dymemarr_back(&dstr)) );
break;
}
case 22:
{
size_t index = 0;
printf( "string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
printf( "please input index:\n" );
scanf( "%u", &index );
printf( "string[%u]: %c\n", index,
*((char*)dymemarr_index(&dstr, index)) );
break;
}
case 23:
{
size_t index = 0;
char* pc = NULL;
printf( "string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
printf( "please input index:\n" );
scanf( "%u", &index );
if( NULL != (pc = (char*)dymemarr_at(&dstr, index)) )
printf( "string[%u]: %c\n", index, *pc );
else
printf( "out of range!\n" );
break;
}
case 24:
{
printf( "before string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
dymemarr_pop_back( &dstr );
printf( "after string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
break;
}
case 25:
{
printf( "string: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
}
default:
break;
}
printf( "\npress any key to continue\n" );
getchar();
getchar();
}
EXIT:
printf( "destroy dymemarray: %s\n", (char*)dymemarr_to_string(&dstr, NULL) );
dymemarr_destroy( &dstr );
printf( "\n\n\n" );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -