2017-04-06 123 views
0

我是新來的命令行,我有一個問題。我已經尋找解決這個問題,但他們都沒有工作。我想用命令行打開文件,但我無法打開它,我不知道爲什麼。我檢查了是否我創建了我的文件。我確實改變了工作目錄,但它仍然找不到我的文件。使用命令行打開文件

我的代碼

#include<iostream> 
#include<string> 
using namespace std; 
void main(int i ,char *a[]) 
{ 
    if (i != 1) 
    { 
     cout << "Wrong!!!"; 
    } 
    fstream fp; 
    fp.open(a[1]); 
    if (!fp.is_open()) 
    { 
     cout << "Cant open file"; 
    } 

} 

我做了什麼錯?

+0

你在程序上面做了什麼? – radbrawler

+0

堅持慣例:'argc'和'argv'。你知道EXE的名稱計數,所以這是ARG 1.你說除了1 ARG以外的任何東西是錯誤的,但隨後打開第二ARG ... – John3136

+0

@radbrawler我使用命令行來運行它 第一個ig到磁盤D: 然後D:cd>新建文件夾\ ConsoleAp8 \ Debug 然後ConsoleAp8.exe test1.txt 就是這樣。 – Van

回答

1

那麼我改變了一下程序,它工作。主要是參數長度

#include<iostream> 
#include<string> 
#include<fstream> 
using namespace std; 
int main(int i ,char *a[]) 
{ 
    if (i != 2) 
    { 
     cout << "Wrong!!! "<<i; 
    } 
    fstream fp; 
    fp.open(a[1]); 
    if (!fp.is_open()) 
    { 
     cout << "Cant open file"; 
    } 
    return 0; 
} 

這對我有效。

編輯 - 我在Ubuntu上運行它。我沒有窗戶。

相關問題