Visual Studio 2010 从命令行运行.exe与运行 (f5) 调试
Visual Studio 2010 run .exe from command line vs run (f5) debug
我是c++的新手,正在制作一个非常简单的程序。我的程序所做的只是从 main 函数调用一个函数,该函数读取文本文件并返回。为了检查我是否正确读取了文件,我正在尝试打印出我已读入的字符串。当我从Visual Studio(f5)运行时,打印输出(cout)工作正常。但是,当我从命令行运行可执行文件时,我的函数中的任何打印输出都没有显示。仅直接在主功能中显示打印输出。我在其他地方找不到类似的问题。任何帮助将不胜感激。
从 VC++ 中运行程序时,当前目录默认设置为项目目录,但应用程序默认位于其他文件夹中。
例如,应用程序可能是:
D:WorkMyAppDebugMyApp.exe
但项目目录可能是:
D:WorkMyAppMyApp
从 VC++ 外部启动程序时,需要采取措施确保当前目录正确,或者可执行文件及其引用的任何数据文件位于同一文件夹中。
Visual Studio 中 IDE 启动的项目的默认工作目录是项目文件夹。这是项目文件所在的文件夹(.vcproj 或 .vcprojx 文件是项目文件)。
如果您正在读取的数据文件位于同一文件夹中,请按如下方式编写代码:
std::ifstream inf("datafile.txt");
将成功,因为当前工作文件夹和数据文件所在的文件夹相同。
但是,如果切换到写入可执行文件的位置(通常是项目目录/调试文件夹或项目目录/发布文件夹)并从命令外壳运行相同的可执行文件,则找不到数据文件。
为了测试这种情况。执行以下操作:
- 打开命令提示符。
- 切换到数据文件所在的项目文件夹。
- 使用指定的路径运行可执行文件:例如
./Debug/YourProgram.exe
。
注意:您可以通过让程序将数据文件名作为argv[]
参数来避免这种情况。然后,您的程序将简单地使用您在启动时告诉它的任何文件。
相关文章:
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 代码在main()中运行,但在函数中出现错误
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 如何在运行中期切换GTK CSS style_context
- 如何在MS Visual Studio 2019中运行QT UI
- 如何通过cpp程序运行shell脚本
- IPC使用多个管道和分支进程来运行Python程序
- 删除指向指针的指针是运行时错误吗
- 如何用参数值调用函数(仅在运行时已知)
- 为什么即使使用-cudart-static进行编译,库用户仍然需要链接到cuda运行时
- 是否可以在编译时初始化数组,以便在运行时不会花费时间?
- c++中的指针和运行时错误
- 在C应用程序中运行C++(带有STL)函数
- 运行程序时出现问题
- 热键/按钮,根据需要进行编译,但不运行(在F5和Ctrl+Shift+B之间)
- Visual Studio 2010 从命令行运行.exe与运行 (f5) 调试