C 在一段代码中替换stdin
我有一段使用stdin的代码。当我从命令行运行程序时,我将wav文件的位置传递给它,即/Users/username/Desktop/music.wav 代码仅用C编写。stdin变量在2个函数中运行 如何用文件目录和位置的输入替换代码中的stdinC 在一段代码中替换stdin,c,stdin,C,Stdin,我有一段使用stdin的代码。当我从命令行运行程序时,我将wav文件的位置传递给它,即/Users/username/Desktop/music.wav 代码仅用C编写。stdin变量在2个函数中运行 如何用文件目录和位置的输入替换代码中的stdin 换句话说,如何将“/Users/username/Desktop/music.wav”硬编码为两个不同的C函数 我想你在找 如果我理解正确,您可以从argv[1]读取文件名并调用freopen(): 当然,我并不想鼓励硬接线 听起来您希望定义文件位
换句话说,如何将“/Users/username/Desktop/music.wav”硬编码为两个不同的C函数 我想你在找 如果我理解正确,您可以从
argv[1]
读取文件名并调用freopen():
当然,我并不想鼓励硬接线 听起来您希望定义文件位置并从多个位置引用它 您可以在头文件中定义路径,然后将其包含在多个文件中 例如 标题.h
#define FILE_LOCATION "/Users/username/Desktop/music.wav"
myProgram.c
#include "header.h"
void functionA() {
fopen(FILE_LOCATION, ...);
/*
* etc ..
*/
}
void functionB() {
printf("The file is %s\n", FILE_LOCATION);
/*
* etc ..
*/
}
myOtherProgram.c
#include "header.h"
void someOtherFunction() {
doSomethingWith(FILE_LOCATION);
}
void doSomethingWith(char *fileLoc) {
}
@西蒙妮。真正地这不只是一个传递字符串的问题吗?@Simone。另外,这似乎是给stdout的。“这对stdin有用吗?”西蒙尼说。六羟甲基三聚氰胺六甲醚。。。也许我在这里有点无知,但这是否仍然意味着我需要通过命令行将文件名作为参数传递?我想在代码中对文件进行硬编码。如果我遗漏了什么,我向你道歉。从之前的类似问题来看,他似乎在使用MacOSX
#include "header.h"
void someOtherFunction() {
doSomethingWith(FILE_LOCATION);
}
void doSomethingWith(char *fileLoc) {
}