今天由于工作需要,需要提取字符串中的后几个字符,想起了substr(),strncpy(),但是都不是那么好用,直接使用不太适合,所以想想有没有别的方法实现,发现如下方法比较好,所以保存下来,希望提醒自己!
memset或strnset函数可用来对一段内存空间全部设置为某个字符
例如,产生n个空格
char s[20]="";
memset( s, ' ', n);s[n]=0;
strnset( s, ' ', n );s[n]=0;
截取子串
char s[]="abcdefghijklmn", char d[20];
左截取s串n个字符到d
strncpy(d, s, n);d[n]=0;
右截取s串n个字符到d
strncpy(d, s + strlen(s) - n, n);d[n]=0;
s第i个位置开始截取n个
strncpy(d, s + i - 1, n);d[n]=0;