2013-09-23 32 views
1

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

回答

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.