好的,我正在为我的班级写一个C程序,但是我只能使用系统调用。基本上,我们的程序是使用on-cp命令,从命令行获取两个文件作为输入,复制第一个文件并将其放入第二个文件。这是相对简单的,我有大部分的代码是正确的,或者只是正确的一些小修复。然而,程序的一部分是如果目的文件已经退出,我们需要提示用户询问它是否应该被重写,所以我需要知道如何使用系统调用函数来获取用户输入,AKA我不能使用SCANF、FFET、GET等。我可以从标准库中使用的唯一功能基本上是PrimTF。所以我需要知道系统调用的函数是什么来获得用户提示。如果这对任何人都有帮助的话,代码的这一部分应该像cp-i一样工作。提前谢谢你。

最佳答案

您可以使用系统调用read。要从标准输入读取,文件描述符为0。
fd
读(2)
Linux程序员手册(2)
姓名

   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.

关于c - 系统调用功能,用于提示和获取用户输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18953909/

10-12 16:25