我必須寫一個使用的參數是這樣一個C程序:如何使用fopen參數?
APP.EXE -in file.txt的
我知道一些有關的argv與char * ARGC but..how我用的說法打開?我不知道!
我必須寫一個使用的參數是這樣一個C程序:如何使用fopen參數?
APP.EXE -in file.txt的
我知道一些有關的argv與char * ARGC but..how我用的說法打開?我不知道!
你需要解析argv來檢查它是否包含你想要的。
int main(int argc, char** argv)
{
if (argc < 3)
{
printf("bad usage");
}
if (strcmp(argv[1], "-in") == 0)
{
char* filename = argv[2];
FILE* f = fopen(filename);
}
}
[請注意,這不回答這個問題,但它也展示瞭如何使用參數]
瞭解爭論第一,以及它們是如何處理的。然後你知道如何使用參數並傳遞一個文件名到fopen
(或任何其他)函數。
首先嚐試這個小程序:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("argc = %d\n", argc);
for (size_t a = 0; i < argc; ++a)
{
printf("argv[%zu] = \"%s\"\n", a, argc[a]);
}
}
如果執行一樣
args.exe -in file.txt
該程序的輸出應該是
argc = 3 argv[0] = "args.exe" argv[1] = "-in" argv[2] = "file.txt"
@KerrekSB我相信魔法! ;) –
這種平等的比較永遠不會爲真。你需要使用'strcmp'。 –
哦,當然,謝謝。 – bercik
「main」原型是什麼? – szczurcio