-1
ソースコード:整数配列をパイプに書き込む方法と、最初からそれを読み取る方法は?
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
int main(){
int fd1[2];
int sample[] = {1,2,3,4};
int input[] ={5 , 6, 7,8};
pid_t p;
if (pipe(fd1)==-1)return 1;
if (pipe(fd2)==-1) return 1;
write(fd1[1], input, sizeof(input)+1);
write(fd1[1], sample, sizeof(sample)+1);
close(fd1[1]);
char concat[100];
read(fd1[0],concat,100);
int i=0;
for(i;i<sizeof(concat);i++){
printf("%i ",concat[i]);
}
printf("\n");
}
私はパイプの中の配列を書きたい、その後私は、全体ではなくパイプを最初の配列を読み取るか、コード内で好きではないしたい:
read(fd1[0],concat,100);
これは可能ですか?そうでなければ、私は構造体を使用します。
コードを見やすく書式設定してください。 –
配列全体をパイプに書き込む必要があります。しかし、なぜこれにパイプを使いたいのですか?これを読んでください:[XY問題](http://xyproblem.info/)。 –
あなたは1つのintを書いたり読んだりするいくつかのコードを書いているようですね?配列のためにそれを繰り返すことは、ループを使用したそれの拡張です。 –