我尝试使用freopen(“inputString.txt”,“r”,stdin);发送 输入到标准输入。如果我在eclipse中运行程序,则输出为 XXX 但如果我直接运行程序(在没有eclipse的情况下运行后运行* .exe) 输出是goodxxx
文本文件与eclipse项目中的* .exe目录相同。 我怎样才能解决这个问题。 这是我的一些源代码。
int main() {
int debug = 1,width,height;
char s[1000];
freopen ("inputString.txt","r",stdin);
s[0]='x';
scanf("%s",s);
printf("%s",s);
printf("xxx")for(;;);;
return 0;}
inputString.txt包含
好
答案 0 :(得分:2)
检查启动配置中的当前目录,确保它符合您的预期。您还可以使用this从程序中获取并打印当前目录,以查看您的位置。
答案 1 :(得分:0)
只需将文件放在项目的根目录中即可。
答案 2 :(得分:0)
test
|___Binaries
|___Included
|___src
|__test.cpp
|__input.txt
|___Debug
|___Release
如果这是您的Eclipse C ++项目结构,那么要访问 test.cpp 中文件 input.txt 的内容,您需要编写
freopen("src/input.txt", "r", stdin);
“测试”是根目录