前提・実現したいこと
unixでは#include<unisted.h>をインクルードできますが、vscodeではそれができません。
unixの為に作られた以下のソースコードをunisted.hを用いずにvscodeを用いて書き直したいのです。プログラミング初心者で低レベルな質問で申し訳ないのですが、お答えいただけると幸いです。
該当のソースコード
#include<stdio.h> //fprintf(3)
#include<stdlib.h> //exit(3)
#include<unistd.h> //read(2)
#include<sys/types.h> //open(2)
#include<sys/stat.h>
#include<fcntl.h>
#define NBUF 1 // buf size
vkj
void die (const char *s){
perror(s);
exit(1);
}
void cat(const char *path){
ssize_t n;
unsigned char buf[NBUF];
int fd = open(path, O_RDONLY); if(fd<0)die(path);
for(;;){
n = read(fd, buf, NBUF);
if(n < 0)die(path);
if(n==0)break;
if(write(STDOUT_FILENO,buf,n)<0) die(path);
}
if(close(fd)<0)die(path);
}
int main(int argc, char *argv[])
{
if(argc < 2){
fprintf(stderr,"usage: %s file\n",argv[0]);
exit(1);
}
int i;
for(i=1; i<argc; ++i{
cat(argv[i]);
})
return 0;
}
c言語、vscodeを用いています。