字符串处理函数整理

1. strdup 函数

函数名: strdup

功  能: 将串拷贝到新建的位置处

用  法: char *strdup( char *str );

例  子:

std::string fname = "my_map.yaml";

char* fname_copy = strdup(fname.c_str());

 

2. dirname 函数

函数名: dirname

功   能:  截取给定路径的目录部分    (如/usr/bin,得到的内容就是/usr;如/sdcard/miui_recovery/backup,得到的内容是/sdcard/miui_recovery )

用   法:  std::string dirname( char* dir )

例   子: 

char* fname_copy = strdup(fname.c_str());

mapfname = std::string(dirname(fname_copy)) + '/' + mapfname;

 

3. basename 函数

函数名: basename

功   能: 得到特定的路径中的最后一个'/',后面的内容      (如/usr/bin,得到的内容就是bin; 如果/sdcard/miui_recovery/backup 得到的内容就是backup)

用   法: std::string basename( char* str )

例   子:

char *test_a = "/usr/bin";

printf("Test 1: '/usr/bin' -> %s ", basename(test_a));



原文地址:https://www.cnblogs.com/lvchaoshun/p/7636738.html