【问题标题】:How can I add a char to a buffer?如何将字符添加到缓冲区?
【发布时间】:2015-08-16 08:05:06
【问题描述】:
int appendBuffer(buffer_t buffer, char c)

这是我必须做的功能。 我想在我的变量buffer 中添加一个char c,它的类型为buffer_t,指向buffer_t,指向buffer_s,指向buffer_s 缓冲区。

【问题讨论】:

  • 你自己尝试过什么?它是如何(或没有)工作的? buffer_t实际定义是什么?结构是什么样的?请显示实际的代码,用于定义所涉及的类型和结构。
  • 为清楚起见,提供buffer_tbuffer_s 的类型定义,并按照其他人的建议,显示您尝试过的内容。
  • 显示类型和结构声明或关闭。
  • 就个人而言,我会调用 appendBuffer() 函数。它似乎就是这样做的。

标签: c char buffer


【解决方案1】:

这个怎么样:

typedef char* buffer_s;
typedef buffer_s* buffer_t;

int appendBuffer(buffer_t buffer, char c)
{
    int size;
    char *outbuf;
    size = strlen(*buffer);
    outbuf = malloc(size+2);
    strcpy(outbuf,*buffer);
    *(outbuf+size) = c;
    *(outbuf+size+1) = 0;
    free(*buffer);
    *buffer = outbuf;
    return (size+1);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多