
C/C++
文章平均质量分 53
felix_vip
这个作者很懒,什么都没留下…
展开
-
关于char数组初始化的一些细节
<br />#include<stdio.h>#include<string.h>int main(){ int i; char s[100]; memset((void *)s,0,100); if(s == NULL) { printf("s==NULL;s=%s;/n",s); } else { printf("s!=NULL;s=%s;/n",s); } for(i =0;i<100;i++) { printf("s[%d]原创 2011-05-15 13:39:00 · 9493 阅读 · 0 评论 -
feof()与strtok()退出循环体的注意事项
今天在进行单步调试时才发现,原来feof是在读取完文件内容之后的下一次读取时才能发现文件已经终止,以前一直以为是读取完文件内容后就遇到了文件结束符EOF,自然终止了。比如有这个一个文件a.txtbasketball the nba while((t=feof(fp)) == 0){ fgets(line,1024,fp); …… }注:fp是打开的文件指针,t是int,line是一个长度1024的char数组第一次循环,t==0,读取完一行时,已经把文件内容全部读取,执行完循环体,再次判原创 2011-05-15 12:26:00 · 1552 阅读 · 0 评论 -
memo of Linux C
1 Linux系统调用creat以只写的方式打开,如果进行读操作会报错Bad file descriptor。creat(const char * path, mode_t mode)相当于 open(const char * path, (O_CREAT | O_WRONLY | O_TRUNC))原创 2012-06-27 18:04:05 · 451 阅读 · 0 评论 -
指针
1对于返回值为指针的函数,当指针指向的内存为栈内存时,调用函数是得不到原来函数里指针所指内容的。因为函数返回时,会释放栈内存空间。如:char * getMemory(){ char p[] = "hello"; return p;}int main(){ char * str = getMemory(); printf(str); pri原创 2012-11-16 01:31:46 · 493 阅读 · 0 评论