#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main (int argc, char* argv[])
{
string STRING;
ifstream infile;
STRING = argv[1];
infile.open(argv[1]);
if (infile.fail())// covers a miss spelling of a fail name
{
cout << "ERROR. Did you make a mistake in the Spelling of the File\n";
return 1;
}
else
{
while(!infile.eof())
{
getline(infile,STRING); // Get the line
cout<<STRING + "\n"; // Prints out File line
}
infile.close();
return 0;
}
}
如果用戶只運行沒有文件名的程序(我認爲是被稱爲參數)如./displayfile然後我得到我有這個計劃天晴,一個問題參數檢查
工作分段故障
我將如何修改我的代碼,使程序將與沿行的錯誤消息退出「添加文件名」
我首先想到的是沿
線的東西if (!argc=2)
{
cout << "ERROR. Enter a file name";
return 1;
}
新增: 萬一這個問題我使用編譯 G ++ displayfile.cpp -o displayfile
檢查'argc',(「c」爲count)不是argv。 – Mat
你的意思是argc,而不是argv? – 2011-11-18 13:16:44
好的,通常的做法是至少檢查'argc'的值。 – jv42