我有一个现有的 c++ 程序,我在 Ubuntu 14.04 中使用g++-4.8
. 通过传递一个文件在终端上运行这个程序,该文件在控制台中打印处理过的数据:
#./my_program.cpp.exe < data.in
EMPLOYEE ID IS 1
MARITAL STATUS IS s
YOUR GROSSPAY IS 100
YOUR TAX AMOUNT IS 5
YOUR NETPAY IS 95
该程序存储在~/Documents/module2
. 我创建了一个新目录~/Documents/module3
并将两个文件my_program.cpp.exe
和data.in
, 复制到此文件夹,现在当我运行它时,它不会将任何输出打印到控制台。
#./my_program.cpp.exe < data.in
#
我不确定这是 c++ 问题还是 Linux/Ubuntu 问题,所以我在这里问。我觉得可能是其中一个,也可能是他们。
当我列出他们显示的文件时:
#ls
-rw-r--r-- 1 user user
-rwxr-xr-x 1 user user my_program
... plus other files (11 total)
但是当我列出文件夹时,它们会显示为:
drwxr-xr-x 2 user user module3
drwxrwxr-x 3 user user module2
我不确定权限之后的 2 是否有意义。
从我正在使用的文件中获取信息:
ifstream fin( "employee.txt" ); // Declare file streams
没有,所以除了运行程序的同一个目录之外没有硬编码的链接。之后我所做的只是基本的数学运算并打印到标准输出:
cout << " EMPLOYEE ID IS " << employeeid << endl;
我用原始文件“区分”了两个文件(data.in 和 my_program.cpp.exe),它们是相同的。
谢谢你的帮助!