这在C语言中是可能的吗?甚至是C++?我更愿意知道C。
例如,假设我有一个函数来读取文本文件并对它做一些事情。如果用户没有指定输入文本文件,而我想对stdin使用该函数;是否可以将stdin写入文件流,就好像它来自读取的文件,以便可以在通常只接受输入文件的同一方法中使用?
当然,我可以使用stdin,将其写入临时文件,然后将临时文件传递给通常接受输入文件的函数。我在网上搜索过,在大学里询问过导师,但没有得到任何解决办法。有人做过这事吗?
发布于 2015-02-24 06:30:35
如果您的函数有一个原型,请说
void add(FILE *fp,<rest of the argument>)
{
}你可以直接通过
add(stdin,<rest of the arguments>);因为stdin是FILE *类型的
FILE *stdin;不需要从stdin读取并将其存储在某个文件中,然后将该文件指针发送到您的API。
发布于 2015-02-24 06:33:45
STDIN自动为您打开,所以只需从STDIN中读取即可。有几种方法可以这样做,但基本上STDIN是文件描述符0。
int filedes = 0;
if(/* argv[1] is a file name */)
filedes = open(argv[1], flags);
read(filedes, bufr, size);https://stackoverflow.com/questions/28689429
复制相似问题