1

そのため、https: //stackoverflow.com/a/298713/1472828を使用して、コマンド引数に引数「hands.txt」(開きたいファイルであるagrv [1])を挿入しています。私はhands.txtと"hands.txt"の両方を試しましたが、どちらも機能しませんでした。

int FileParsing(vector<Card> & v, char * FileName) {
    ifstream ifs;
    ifs.open(FileName);
    if (!ifs.is_open()){
        cout << "file cannot be opened." << endl;
    } else {

だから私はデバッガーを使ってメインをステップスルーします:

int main(int argc, char * argv[]){
    if (argc !=2 ){
        //ErrorMessage();
    } else {
         ...

デバッガーは私のargcが2であると教えてくれますが、これは正しいですが、デバッガーが

cout << "file cannot be opened." << endl;

これは、引数がそれを読み取るのに失敗することを意味します

ifstream ifs;
ifs.open(FileName);

私が見逃したものや、間違った方法で議論を通過したものはありますか?

psテキストファイルはcmdから完全に読み取られたため、コードの問題ではありません。

4

1 に答える 1

4

@WhozCraigからアイデアを得て、cmdでプログラムを実行している間、テキストファイルはデバッグディレクトリに置かれます。ただし、デバッガーを使用して実行する場合は、テキストファイルを他のcppファイルおよびhファイルと同じディレクトリに配置する必要があります。

于 2013-03-10T16:44:07.030 に答える