我想知道如何在unix中正确使用read()和open()函数

时间:2014-03-18 15:20:10

标签: c

我想问你read()

我只是这样使用它:

 char array[10] = {'\0',};
 read(0,array,sizeof(array));

这里在控制台中插入一些内容" abc.txt"然后可能存储一个数组:

 a[0] = a
 a[1] = b
 a[2] = c
 a[3] = .
 a[4] = t
 a[5] = x
 a[6] = t
 a[7] = \0
 a[8] = \0
 a[9] = \0

我将使用open函数:

 open(array,~);

我认为它不起作用。 // DD

我打算让open函数识别abc.txt\0 但它实际上可能会识别abc.txt\0\0\0\0

如何改进open()函数按我想要的方式运行的代码?

1 个答案:

答案 0 :(得分:0)

需要使用open()的结果。没有它,代码不知道\0是来自read()调用还是初始化array[10] = {'\0',}

ssize_t len = read(0,array,sizeof(array));
// Use `len` as then needed.