首页 > 用户发贴区 > 编程问题提问区 > 怎么读入一行字符
2009
04-01

第一次发贴,贴个读行函数,高手提点意见
#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);
}


怎么读入一行字符》有 1 条评论

  1. hias_asia 说:

    为什么不用MFC?

留下一个回复