這幾天幫人重整老東西,用 Turbo C 2.0 寫的,就順手把它整理上來放,現在好像很多學校還是喜歡用這個工具來教學,特別是資料結構之類的課。Turbo C 簡稱 TC,是 Borland 公司的產品,現在好像有開放下載,所以 Google 一查就可以找到載點。
main(int argc, char *argv[])
這是甚麼呢?這是很古早時代在用的東西,當程式執行時,在程式尾端掛幾個參數,這是很常用的手法,那在開發環境中要怎麼寫這種程式及測試呢,以下就是個小範例。
先來看看程式碼
#include <conio.h>
#include <stdio.h>
#include <string.h>
char str1[32];
char str2[32];
char str3[32];
int main(int argc, char *argv[]) {
int i;
clrscr();
printf("\nargc = %d\n",argc);
for(i=0;i<=3;i++)printf("argv[%d] = %s\n",i,argv[i]);
strcpy(str1,argv[1]);
strcpy(str2,argv[2]);
strcpy(str3,argv[3]);
printf("\n");
printf("str1 = %s\n",str1);
printf("str2 = %s\n",str2);
printf("str3 = %s\n",str3);
return(0);
}
執行結果
傳入參數在 Turbo C 中的設定
說明
上圖紅色所框的部分就是宣告引入參數
int argc 這個是傳入的參數個數,是整數值
char *argv[] 這個是參數值,是C字串格式,如果要用數字的話,可以使用 atoi() 來轉數字。
例如
count=atoi(argv[0]); /* 字串轉數字 */
參數部分說明,本例是測試 3 個參數,
d2340.354
opennum
e2340.354
但是 argc 卻會顯示 4 個,因為 argv[] 第一個都固定放程式的執行路徑,所以變成4個了,如圖一可知,參數有四個。
要如何取出參數呢,我們知道參數是C字串,不能直接指定給變數 str1、str2、str2,而是要透過函數 strcpy() 取出。
char str1[32];
char str2[32];
char str3[32];
....
strcpy(str1,argv[1]);
strcpy(str2,argv[2]);
strcpy(str3,argv[3]);
這樣就行了。 ^^
[註]C字串:就是字元陣列,在最尾端擺入 '\0' 當作字串結束標記
char mystr = {'a','b','c','d','e','f','g','\0'}
mystr = "abcdefg";
古早時候是沒有 String 的。
沒有留言:
張貼留言
請提供您的寶貴意見 ;-)