c - 替换一段代码中的 stdin

标签 c stdin

我有一段使用标准输入的代码。当我从命令行运行程序时,我将 wav 文件的位置传递给它,即/Users/username/Desktop/music.wav。

代码仅用 C 编写。stdin 变量在 2 个函数中运行。

如何用文件目录和位置的输入替换代码中的标准输入?

换句话说,如何将“/Users/username/Desktop/music.wav”硬编码为两个不同的 C 函数。

最佳答案

我认为您正在寻找freopen .

如果我理解正确,您可以从 argv[1] 读取文件名并调用 freopen():

freopen(argv[1], "r", stdin);

关于c - 替换一段代码中的 stdin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956054/

相关文章:

c - 值为 17 的套接字协议(protocol)是什么?

c - ECC 反模奇异时间执行

c - 在 OpenGL 中忽略 macOS 上的模拟鼠标事件

c - execve() 和 execvp() 忽略第一个参数

c - 无效函数: returning garbage from an array variable to main in C

input - 如何在 Dyalog APL 中从 stdin 读取一个字节?

c - 如何在 C 中从 stdin 进行非阻塞输入

c - 如何在c中读取文本文件,然后将每一行分割成标记?

node.js - 从标准输入读取所有文本到字符串

perl - 如何在 Perl 中读取 STDIN 并将内容写回 STDIN?