1、问题
编写一个函数,从标准输入读取一个字符串,把字符串复制到动态内存分配的内存中,并返回该字符串的拷贝,这个函数不应该对读入字符串的长度作任何限制!
2、代码实现
#include <stdio.h>
#include <stdlib.h>
#define OFFSET 5
char *my_strcpy()
{
char *buffer = NULL;
//缓冲区的长度
int buffer_len = 0;
//屏幕字符总长度
int all_len = 0;
char *p = buffer;
int ch;
while ((ch = getchar()) != '\n' && ch != EOF)
{
if (all_len >= buffer_len)
{
//再次申请的长度
buffer_len += OFFSET;
//扩充内存