第一次发贴,贴个读行函数,高手提点意见
#include <stdio.h>
#include <conio.h>
#include <stdio.h>
#define maxnum 11
char * getline(char *const str,const int size)
{
/*获得一行数据,最多接受maxnum个,多了则去掉,也就避免了缓冲区溢出,并且当用户输入很多数据的时候
给用户一个提醒*/
int i=0;
char ch;
assert(str&&size);/*加断言,避免用户给一个空指针,和空内存*/
while((ch=getchar())!=’\n’&&i<(size-1))
{
str[i]=ch;
i++;
}
if(i==size-1)
printf(“input too much\n”);
str[i]=’\0′;
return str;
}
int main()
{
/*在这里我们遵守了谁申请谁释放内存的原则,不然很容易内存丢失*/
char *str=NULL;
str=(char*)malloc(sizeof(char)*maxnum);
str=getline(str,maxnum);
printf(“%s\n”,str);
free(str);
getch();
exit(0);
}
>> 本文固定链接: http://www.vcgood.com/archives/3127
>> 转载请注明: diantouxiao 2009年04月01日 于 C语言帝国 发表
为什么不用MFC?