c++ - 使用 C++ 在 Unix 上打开文件

标签 c++ unix

我正在尝试用 C++ 打开一个文件,而运行程序的服务器是基于 tux 的。

string filename = "../dir/input.txt"; works but
string filename = "~jal/dir1/dir/input.txt"; fails

当提供的文件名是第二种格式时,有什么办法可以在 C++ 中打开文件吗?

最佳答案

~jal 扩展是由 shell (bash/csh/whatever) 执行的,而不是由系统本身执行的,因此您的程序正在尝试查看名为 ~jal/的文件夹,而不是 /home/jal/

我不是 C 程序员,但 getpwent() 可能是您所需要的。

关于c++ - 使用 C++ 在 Unix 上打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/932519/

相关文章:

linux - 从文件列表中查找多个目录中的文件?

C++ 赋值优先级

c++ - VS2010和C/C++后台编译

c++ - 从 catch (...) C++ 获取异常对象地址

ruby - Unix 哲学在 Ruby 社区失宠了吗?

c - 在用作排他锁的 fd 上阻塞

c - 使用 select() 阻塞,直到获得或失去客户

c++ - 派生类可以使用不同签名的函数重新定义虚函数吗?

c++ - std::vector 崩溃?

c - 主线程中的nanosleep()是否会影响其他线程?