问一个神奇的有关问题, 关于printf字符串

问一个神奇的问题, 关于printf字符串
我从文件中按行读取字符串
while(1)     {
              if   (fgets(rawLine,   MAX_LINE_SIZE,   yyin)   ==   NULL)     {
                  return   -1;
            }  
            else     {
                  //-   make   sure   the   line   is   terminated  
                  if   (rawLine[strlen(rawLine)-1]   !=   '\n ')     {
                        rawLine[strlen(rawLine)]   =   '\n ';
                        rawLine[strlen(rawLine)+1]   =   '\0 ';
                  }
  printf( ":::%d\t\t%s ",strlen(rawLine),   rawLine);
                  break;
            }
      }
本来程序很好用的,   但是今天下午解析一个两万多行的文件时,突然有了个段错误:


要读入的文件在3000多行的位置是这些数据:
//////////////////////////////////////////////////////////////////////////////
//                                                                     Code   Area                                                               //
//////////////////////////////////////////////////////////////////////////////
//   Global   Registers                                                                                                                   //
//   ----------------                                                                                                                   //
//     r10   flag_reg                                                                                                                         //
//     r9     fifo                                                                                                                                 //