首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >写入文件蒸汽,而不存在C中硬盘驱动器上的文件

写入文件蒸汽,而不存在C中硬盘驱动器上的文件
EN

Stack Overflow用户
提问于 2015-02-24 06:26:30
回答 2查看 142关注 0票数 3

这在C语言中是可能的吗?甚至是C++?我更愿意知道C。

例如,假设我有一个函数来读取文本文件并对它做一些事情。如果用户没有指定输入文本文件,而我想对stdin使用该函数;是否可以将stdin写入文件流,就好像它来自读取的文件,以便可以在通常只接受输入文件的同一方法中使用?

当然,我可以使用stdin,将其写入临时文件,然后将临时文件传递给通常接受输入文件的函数。我在网上搜索过,在大学里询问过导师,但没有得到任何解决办法。有人做过这事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-24 06:30:35

如果您的函数有一个原型,请说

代码语言:javascript
复制
void add(FILE *fp,<rest of the argument>)
{
}

你可以直接通过

代码语言:javascript
复制
add(stdin,<rest of the arguments>);

因为stdin是FILE *类型的

代码语言:javascript
复制
FILE *stdin;

不需要从stdin读取并将其存储在某个文件中,然后将该文件指针发送到您的API。

票数 5
EN

Stack Overflow用户

发布于 2015-02-24 06:33:45

STDIN自动为您打开,所以只需从STDIN中读取即可。有几种方法可以这样做,但基本上STDIN是文件描述符0。

代码语言:javascript
复制
int filedes = 0;
if(/* argv[1] is a file name */)
    filedes = open(argv[1], flags);

read(filedes, bufr, size);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28689429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档