系统调用用于提示和获取用户输入的功能

时间:2013-09-23 07:32:49

标签: c user-input system-calls

好的,我正在为我的班级编写一个C程序,但我只允许使用系统调用。基本上我们的程序正在制作我们的on cp命令,我们从命令行获取两个文件作为输入并复制第一个文件并将其放入第二个文件。它相对简单,我有大部分代码正确或恰到好处,可能有一些小修复。但是,程序的一部分是如果目标文件已经退出,我们需要提示用户询问是否应该覆盖它,所以我需要知道如何使用系统调用函数获取用户输入,我也可以使用scanf,fgets,gets等。我可以从标准库中使用的唯一函数是printf。所以我需要知道系统调用的功能是获取用户提示。这部分代码假设像cp -i一样工作,如果这有助于任何人。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用系统调用read。要从标准输入读取,fd(文件描述符)为0。

$ man read

  

READ(2)

     

Linux程序员手册(2)

     

NAME

   read - read from a file descriptor
     

概要

   #include <unistd.h>

   ssize_t read(int fd, void *buf, size_t count);
     

说明

   read() attempts to read up to count bytes from file descriptor fd into the buffer starting at buf.

   If count is zero, read() returns zero and has no other results.  If count is greater than SSIZE_MAX, the result is unspecified.