我想在C中創建一個命令行程序,它應該允許用戶輸入我的自定義命令,選擇一個選項並在用戶文件上執行功能。該程序將根據選擇的選項執行不同的功能。該程序還應該能夠識別計算機上是否存在文件。如何在C中創建命令行程序C
例如,如果我的自定義命令是encodethis
,用戶將輸入encodethis -e <filename>
來對文件進行編碼。
這是我迄今爲止試過的,以檢查用戶是否輸入了正確的參數。
#include <stdio.h>
#include <string.h>
/* main function to copy strings*/
int main (int argc, char * argv[]) {
if (argc == 3) {
if (strcmp (argv[0], "myencode") == 0) {
if (strcmp (argv[1], "-e") ==0) {
/* Check user input against files in computer*/
現在我的問題是以某種方式檢查用戶輸入的文件名與他的電腦中的文件,看看它是否存在。我不知道如何檢查argv[]
數組中的第三個數值,因爲它是由用戶輸入的,並且最初未定義。任何幫助都感激不盡。
爲什麼你認爲它是不確定的?如果'argc'是3那麼'argv [2]'應該包含一些東西 –
爲什麼你根本檢查'argv [0]'?你是否真的*希望你的程序在重命名時被中止或失敗,或者只是以'argv [0]'未被設置的方式調用,或者如果一個合格的路徑如'/ path/to/myencode'而不是myencode的基本名稱在該字段中? –
如果您遇到的問題是檢查文件是否存在,那麼您的問題應該是* only *,其他所有內容(即命令行參數列表位)都將被排除。 –