使用freopen或fopen CPP时,Eclipse无法读取文件

时间:2012-05-04 01:52:29

标签: c++ eclipse

我尝试使用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包含

3 个答案:

答案 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);

“测试”是根目录