写函数:有没有办法只写一部分缓冲区?

时间:2011-11-06 09:18:22

标签: c buffer

我正在学习使用write函数,并且我只尝试打印chars缓冲区数组的一部分。所以它看起来像这样:

char *tempChar;
char *buf;
buf=&tempChar;
read(0, buf, 10);

write(1, [???], 1);

我想把buf [3]放在[???]所在的位置,但是没有用。 我也考虑过使用tempChar [3],但这也不起作用。

有什么想法吗?非常感谢。

1 个答案:

答案 0 :(得分:2)

您将使用buf + 3。这是指针算术。它需要buf并为你提供一个新的指针3个字符。 buf[3]相当于*(buf + 3)。请注意不需要的取消引用。

另外注意:

buf=&tempChar;

可能不对。

将tempChar变量的地址分配给buf,这可能不是你想要的。