今天在vs2010里读取相对路径下的图片文件出了点问题。于是查了一下相对路径的编程知识,记录下来分享给大家:
问题描写叙述:path=".\TrainData\"+img_path[i]; 比如为path=.TrainData1.jpg的时候,此图片到底在哪呢?
问题解决:此时.vcxproj 和当前执行的.cpp文件所在文件夹E:vehicleSVM_Train_Predict_HOG_vehicle train 64SVM_Train_Predict_HOG。.sln文件所在文件夹E:vehicleSVM_Train_Predict_HOG_vehicle train 64,在此网页http://blog.csdn.net/sszgg2006/article/details/8447176 中查到:
"./" 加不加都一样,就是指当前文件夹,"../" 表示当前文件夹的上级文件夹,即当前的父文件夹。这里的当前文件夹就是指.vcxproj和当前执行的.cpp文件所在文件夹E:vehicleSVM_Train_Predict_HOG_vehicle
train 64SVM_Train_Predict_HOG。而不是.sln文件所在文件夹。非常明显path=.TrainData1.jpg的时候,此图片所在文件夹为E:vehicleSVM_Train_Predict_HOG_vehicle
train 64SVM_Train_Predict_HOGTrainData1.jpg
补充:三、 VS2010默认的工作文件夹是$(ProjectDir)即与cpp文件同文件夹,见此參考网页: vs2010控制台程序工作文件夹和执行文件夹。