在VS2008的Debug32模式和Dos下运行程序时对于“./”的理解
来源:互联网 发布:物性参数查询软件 编辑:程序博客网 时间:2024/05/21 12:07
本文要比较的是在VS2008的Debug32模式和Dos下运行程序时对于“./”的理解。
如下所示,是一个简单的C/C++程序:
- #include <stdio.h>
- #include <tchar.h>
- #include <stdlib.h>
- #include <string.h>
- #include <windows.h>
- int _tmain(int argc, _TCHAR* argv[])
- {
- FILE* fpr;
- char msgFile[80];
- char dir[80];
- char file[80];
- char buf[80];
- memset(msgFile, '/0', 80);
- memset(dir, '/0', 80);
- memset(file, '/0', 80);
- memset(buf, '/0', 80);
- GetPrivateProfileString("TEST", "MSG_DIR", "F://vs2008//Test", (LPTSTR)dir, 80, "F://vs2008//Test//Test.ini");
- GetPrivateProfileString("TEST", "MSG_FILE", "message.dat", (LPTSTR)file, 80, "F://vs2008//Test//Test.ini");
- strcpy_s(msgFile, 80, dir);
- strcat_s(msgFile, 80, "//");
- strcat_s(msgFile, 80, file);
- if(!fopen_s(&fpr, msgFile, "r")){
- fgets(buf, 80, fpr);
- printf_s("%s/n", buf);
- }
- return 0;
- }
其中的Test.ini文件如下:
[TEST]
MSG_DIR=F:/vs2008/Test
MSG_FILE=message.dat
message.dat文件如下:
This is a test program!
上面的程序运行的结果如图1所示:
先对程序和Test.ini文件做如下修改:
程序:
GetPrivateProfileString("TEST", "MSG_DIR", ".", (LPTSTR)dir, 80, "F://vs2008//Test//Test.ini");
ini文件:
;MSG_DIR=F:/vs2008/Test
(前面加了一个分号,即注释这一行)
做上述改动后,在程序中msgFile的值就变成了“./message.dat”,此时运行程序得到的结果如图2所示:
也就是说,这时程序已经找不到message.dat文件了,那如何才能让程序找到message.dat文件呢?
你可以将message.dat文件放在F:/vs2008/Test/Test目录下,即将它和Test.cpp放在一起。
此时你如果再运行改过之后的程序运行结果就如图1所示了。
这时,我们不妨再做一个尝试,就是在dos命令行格式中运行Test.exe,如图3所示:
从图中可以看出,没有输出,也就是说,message.dat文件又找不到了。
这时,如果你将message.dat文件放在F:/vs2008/Test/Debug文件夹下,则它又能访问了,如图4所示:
- 在VS2008的Debug32模式和Dos下运行程序时对于“./”的理解
- ogre在VS2005或者VS2008下的配置和程序运行正常运行
- 在纯DOS下运行Win32程序的扩展器
- JDK的配置和在dos下运行java
- 如何在Dos下编译和运行Java程序?
- 在DOS环境下编译和运行Java Application时遇到的问题
- 35.VC(custom)-VS2008下编的程序生成的EXE 在没有安装VS2008的计算机上能运行
- VS2008下编的程序生成的EXE 在没有安装VS2008的计算机上能运行
- 在非web环境下,直接用java命令行运行程序时,对于通过getResources找不到jar包中的资源和目录的解决方法
- 在Dos下运行exe程序的时候出现找不到Cygwin1.dll文件的情况总结
- VS2005 VS2008编译的程序在Win7下以管理员身份运行的设置
- 在dos下运行.exe程序(C++)
- VS2008中,运行win32控制台程序,输出的DOS窗口会自动消失?
- 如何在一个完全没有安装vs2008和opencv的电脑上运行exe程序?
- 一个NT系统下的DOS命令运行程序
- Dos下运行VC++ console程序的环境设置
- Dos下运行VC++ console程序的环境设置
- 原来可以再DOS下运行程序的。
- 工作计划
- Linux下Apache整合Resin
- Delphi中基类窗体找不到解决办法
- 武汉之行--黄鹤楼
- WinCE驱动开发问题精华集锦
- 在VS2008的Debug32模式和Dos下运行程序时对于“./”的理解
- 设计模式--代理模式的简单实现(C#)+类关系图
- 富人与穷人"20/80定律"
- PE Explorer v1.99 Revision 4 uly 28, 2008
- Ubuntu Linux:MySQL安装指南
- 用C#编写网页小应用程序(Applet)
- Core J2EE Patterns - Data Access Object
- 帕累托法则
- 当时明月在,曾照彩云归