0

私は Visual Studio 2012 でプロジェクトを開発していますが、このコードが常に "ファイルを開けません!" というエラー メッセージを返す理由がわかりません。

#include <iostream>
#include <fstream>

int main (int count, char *arguments[]) {
    if (count > 1) {
        ifstream input("stops.txt");

        if (input.is_open()) {

        } else {
            cout << "The file can not be opened!";
        }
    }
}
4

3 に答える 3

0

実行中のプロセスの現在の作業ディレクトリが何であるかを調べる

http://msdn.microsoft.com/en-us/library/windows/desktop/aa364934(v=vs.85).aspx

例:

unsigned int length = 0;
char* workingDirectory;

length = GetCurrentDirectory(0, NULL); // How large should my buffer be?
workingDirectory = new char[length]; // Allocate buffer
GetCurrentDirectory( (DWORD) length, (LPTSTR) workingDirectory); // Fill with string
std::cout << workingDirectory << std::endl; // Output string
delete [] workingDirectory; // Make sure to delete it

これを関数に入れることができます

void getWorkingDirectory(std::string& dir)
{
    unsigned int length = 0;
    char* buffer;
    length = GetCurrentDirectory(0, NULL);
    buffer = new char[length];
    GetCurrentDirectory( (DWORD) length, (LPTSTR) buffer);
    dir = buffer;
    delete [] buffer;
}

注: 私はこれをテストしていません。

于 2013-10-31T11:25:53.113 に答える
-2

以下のコード行を使用します。

ifstream input("stops.txt", std::fstream::out);

その作業。

于 2013-10-31T11:14:55.237 に答える