觉得python语言的list的切片操作很方便,用c语言实现一个简单版本的.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/* 实现类似python中list(元素类型为char)的切片操作
*
* test="abcdef"
* slice(test,1,4,1) 返回:"bcd"
* slice(test,-1,3,-1) 返回:"ef"
* slice(test,0,5,2) 返回:"ace"
*
*/
//获取src字符串从left到right索引(不包含right索引处)的子字符串
char* slice(char* src,int left,int right,int step){
//把所有的负号索引全部转换为正号索引
int len=strlen(src);
if(left<0)
left=len+left;
if(right<0)
right=len+right;
if(step<