静态变量

1944阅读 0评论2011-09-23 blacksapper
分类:C/C++

要获取文件名。我写了下面的代码。作用是提取文件名。比如1.jpeg提取1 如果是abc.d.png提取abc.d
代码写完了我赋值给一个变量存储。到了后面调用的时候值居然没有了。原来返回值随着函数的OVER也被释放了。需要在数组那里加上static修饰成静态变量。这样就不会没有了。呵呵
  1. char *getname(char *filename){
  2.          char strname[MAX_FILE_NAME]={0};
  3. 代码写完了我赋值给         int end,i;
  4.         for(i=0;*(filename+i)!=NULL&&*(filename+i)!='\0';i++)
  5.             if((*(filename+i)=='.'))
  6.                 end =i;
  7.         printf("end=%d\n",end);
  8.         for(i=0;i<end;i++)
  9.             strname[i]=*(filename+i);
  10.         //strname[end]='\0';
  11.         return strname;
  12.     }
上一篇:ubuntu下用eclipse开发c++
下一篇:再看链表指针