Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-打印整个阵列,每三个元素之间分隔_C - Fatal编程技术网

C-打印整个阵列,每三个元素之间分隔

C-打印整个阵列,每三个元素之间分隔,c,C,如果标题令人困惑,我很抱歉。假设我有一个字符数组,如下所示: [0,1,2,3,4,5,6,7,8,9,...] 123,456,789 我想把它的元素打印出来如下: [0,1,2,3,4,5,6,7,8,9,...] 123,456,789 仅用作函数write()。 我澄清了最后一个元素后面不能跟逗号,数组的长度未知(我将其长度设置为1000,但只在另一个循环中插入了一些值,因此我们不知道数组填充到哪个点,但我们知道该数字是3的倍数) 我尝试了以下方法: for (int i=0

如果标题令人困惑,我很抱歉。假设我有一个字符数组,如下所示:

[0,1,2,3,4,5,6,7,8,9,...]

123,456,789
我想把它的元素打印出来如下:

[0,1,2,3,4,5,6,7,8,9,...]

123,456,789
仅用作函数
write()
。 我澄清了最后一个元素后面不能跟逗号,数组的长度未知(我将其长度设置为1000,但只在另一个循环中插入了一些值,因此我们不知道数组填充到哪个点,但我们知道该数字是3的倍数)

我尝试了以下方法:

for (int i=0;i<1000;i+=3){
    write(i,&array,i+3)
}

对于(int i=0;i首先,您应该阅读
write()
函数的文档。此函数按以下顺序接受3个参数:

  • 使用
    open()
  • 要打印的数组缓冲区(
    array
  • 要从该缓冲区打印的长度(以字节为单位)
假设您这样声明数组:

[0,1,2,3,4,5,6,7,8,9,...]

123,456,789
char数组[1000]=[1',2',3',4',5',…];
可以打印3个元素,用逗号分隔,如下所示:

[0,1,2,3,4,5,6,7,8,9,...]

123,456,789
int fd=STDOUT\u FILENO;//这是1,但最好使用命名常量
对于(int i=0;i<1000;i+=3)
{
写入(fd,数组+i,3);
写入(fd,,,1)
}
这是一个选项。请注意,正如您所说,此示例适用于字符数组。如果您使用整数数组,则需要做更多的工作,因为您必须将这些整数转换为字符串,并逐个打印每个转换后的数字

旁注:默认情况下,您打开了3个文件:

  • 0
    -标准输入-
    STDIN\u文件号
  • 1
    -标准输出-
    STDOUT\u文件号
  • 2
    -标准错误-
    STDERR\u文件号

到目前为止您尝试了什么?write()函数具体是什么?如果您正在引用,则需要修改它。即使这不是代码中存在的唯一问题