- github連結
- 作業連結
學習了一下指令行參數,複習了一下檔案讀寫,然後修改代碼把全局變量什麼的給改成參數傳遞了。
關于指令行參數在學習的時候寫了一個小參考執行個體:
#include <stdio.h>
#include<fstream>
using namespace std;
/*
D:\>a.exe d://in.txt d://out.txt
*/
int readFile(char *filename)//filename是絕對路徑
{
int n;
/*errno_t err;
FILE *stream;
err = fopen_s(&stream, filename, "r");
fscanf_s(stream, "%d", &n);
*/
fstream f;
f.open(filename, ios::in);
f >> n;
f.close();
return n;
}
void SaveResult(char *filename)
{
fstream f;
f.open(filename, ios::out);
f << "i love" << endl;
f << "you" << endl;
f.close();
return;
}
int main(int argc, char *argv[])
{
int n = readFile(argv[1]);
SaveResult(argv[2]);
printf("%d\n", n);
return 0;
}
關于從一個檔案中讀取一個整數,可以選擇用
fscanf
,用一個格式符擷取。也可以直接用
file >> n
從檔案流提取一個整數到整型變量 n 中。
在 Windows 系統下要運作
cmd
(如果在Linux下就簡單多了):

我把程式
a.exe
和語言資源
LangResourses
直接拷貝到了 User 檔案夾下,沒有使用
cd
換目錄或是輸入程式的絕對路徑。
在檔案夾下面建立一個
in.txt
裡面放一個整數,我寫的是 5。
在指令行中輸入
a.exe in.txt out.txt
運作完成後檔案夾中多出來一個
out.txt
檔案。
運作結果:
覺得棟哥的角色變成了一個一直提要求的 PM(……)。不過我還挺喜歡這種 PM 的,因為棟哥的要求可以讓我不斷的自學一些新的東西,不斷改進自己的程式。在以前,一些代碼打完了是很少會維護或疊代的。而這個在今年寒假末第一次完成的六百多行代碼的小程式,現在維護到近千行了。
參考連結:
- C++檔案操作詳解
- 帶參數的main函數