在C中,在硬盘驱动器上没有文件的情况下写入文件steam
Write to a file steam without a file existing on the hard drive in C
这在C语言中可能吗?甚至是C++?我更想知道C.
例如,假设我有一个读取文本文件并对其执行某些操作的函数。如果用户没有指定输入文本文件,而我想将该函数用于stdin是否可以将stdin写入文件流,就好像它来自读取的文件一样,这样它就可以用在通常只接收输入文件的方法中?
当然,解决这个问题的一种方法是,我可以获取stdin,将其写入一个临时文件,然后将该临时文件传递给通常会获取输入文件的函数。我在网上搜索并询问了大学的导师,但没有得到任何解决方案。有人做到过这一点吗?
如果你的函数有一个原型,比如
void add(FILE *fp,<rest of the argument>)
{
}
你可以直接通过
add(stdin,<rest of the arguments>);
因为stdin的类型是FILE *
FILE *stdin;
不需要从stdin读取并将其存储在某个文件中,然后将该文件指针发送到API。
STDIN
会自动为您打开,所以只需从STDIN中读取即可。有几种方法可以做到这一点,但基本上STDIN是文件描述符0。
int filedes = 0;
if(/* argv[1] is a file name */)
filedes = open(argv[1], flags);
read(filedes, bufr, size);
相关文章:
- 为什么在某些情况下不写入此文件?
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 有没有办法在不使用 getline() 的情况下从.csv文件中读取?
- 是否可以在没有真实文件的情况下创建 ifstream
- 在 c++ 中连接字符串和整数,以便在 C++ 11 不支持计算机的情况下读取多个文件
- 如何在多写入器情况下对文件支持的共享内存中的大页面出错
- 如何在添加文件的情况下在VSCode中调试C++程序
- 每个文件(理想情况下是每个部分)的 clang 格式样式覆盖
- 如何在不重新创建现有文件的情况下写入.txt文件
- 如何在不知道大小的情况下读取文本文件并存储到数组中
- 如何使用Winforms C#或C++.Net在不更改文件中其他内容的情况下修改jpg文件中的Orientation e
- 如何在不循环的情况下使用getline读取文件
- 在不打开应用程序的情况下在MinGW c++中播放声音(.wav)文件
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 如何在不受其他文件影响的情况下"by itself" Visual Studio 项目中运行C++文件?
- 如何在不包含完整的文件系统头的情况下使用文件系统的类路径C++17?
- 如何在不设置 ulimit -n 的情况下解决套接字程序打开太多文件的错误
- Nlohmann 在不知道密钥的情况下解析 JSON 文件
- C++:如何在不将命令传递给 shell 的情况下执行文件?