Segmentation fault (core dumped)异常 急

Segmentation fault (core dumped)错误 急!!
本帖最后由 haaini 于 2013-07-01 14:55:36 编辑
Linux下执行的一个C程序,在一部分数据上执行成功,但是偶尔有些数据会出现Segmentation fault (core dumped)错误,数据的格式是一致的,请各位大牛帮忙看看是为什么呀????
只需要看到128行就行了,后面是重复的操作~

     1  #include <stdio.h>
     2  #include <string.h>
     3  //#include <windows.h>
     4
     5
     6  /************************** get substring *********************************/
     7  char* substr(char* str,unsigned start, unsigned end)
     8  {
     9          if(start>end || end>=strlen(str)){
    10                  printf("parameter of get substr error!\t");
    11                  return NULL;
    12             
    13          }
    14    unsigned n = end - start+1;
    15    static char stbuf[2000];
    16    strncpy(stbuf, str + start, n);
    17    stbuf[n] = 0;
    18
    19   // memset(stbuf,0,sizeof(char)*16384);
    20    return stbuf;
    21  }
    22
    23
    24  //************************get pos of char in string**************************
    25  int findChar(char* str,char c){
    26          if(str == NULL)return -1;
    27          int len = strlen(str);
    28
    29          for(int i=0;i<len;i++){
    30                  if(str[i] == c){