亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2397 | 回復(fù): 5
打印 上一主題 下一主題

[C] 在命令行下運(yùn)行程序,實(shí)驗(yàn)結(jié)果和我理解的不一樣。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-11-20 10:39 |只看該作者 |倒序?yàn)g覽

  1. #include<stdio.h>
  2. #include<string.h>
  3. #define MAXLINE 10000

  4. int getline(char *line, int max);

  5. /*find函數(shù):打印與第一個(gè)參數(shù)指定的模式匹配的行*/
  6. main(int argc,int *argv[])
  7. {
  8.         char line[MAXLINE];
  9.         int found = 0;

  10.         if(argc != 2)
  11.                 printf("Usage:find pattern\n");
  12.         else
  13.         {
  14.                 while(getline(line,MAXLINE) > 0)
  15.                         if(strstr(line,argv[1]) != NULL)
  16.                         {
  17.                                 printf("%s",line);
  18.                                 found++;
  19.                         }
  20.         }
  21.         return found;
  22. }


  23. /*getline:將輸入字符串存儲在s中,并返回輸入字符串的長度*/
  24. int getline(char s[],int lim)
  25. {
  26.         int c,i;
  27.         i = 0;
  28.         while(--lim > 0 && (c = getchar() ) != EOF && c != '\n')
  29.                 s[i++] =  c;
  30.         if(c == '\n')
  31.                 s[i++] = c;
  32.         s[i] = '\0';
  33.         return i;
  34. }
復(fù)制代碼
用visual c++ 6.0編譯了這個(gè)程序后,在cmd命令窗口里輸入?yún)?shù)后,遇到的問題:

1,不管輸入幾個(gè)參數(shù),如 “D:\WIN-tc\chapter_5\Debug\5.10_test4 ab ehabc”  ,輸出結(jié)果都是“Usage:find pattern”?

2,getline函數(shù)是“將輸入字符串存儲在s中,并返回此字符串的長度”,“輸入字符”和 后續(xù)的“命令行參數(shù)”是什么關(guān)系呢?感覺執(zhí)行階段輸入的(命令行)參數(shù)都保存在argv[]中了,沒有用到getline()函數(shù)?

在命令行參數(shù)的這個(gè)地方卡主了,先謝謝啦~

論壇徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龍
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥豬
日期:2014-04-01 08:56:02亥豬
日期:2014-04-08 08:38:58程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-01-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-01-07 06:20:00
2 [報(bào)告]
發(fā)表于 2014-11-20 10:50 |只看該作者
lz,單步調(diào)試。

論壇徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亞洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辭舊歲徽章
日期:2015-03-03 16:54:152015亞冠之吉達(dá)阿赫利
日期:2015-06-02 11:34:112015亞冠之武里南聯(lián)
日期:2015-06-24 12:13:082015亞冠之阿爾納斯?fàn)?日期:2015-08-03 09:08:25
3 [報(bào)告]
發(fā)表于 2014-11-20 11:12 |只看該作者
回復(fù) 1# joychenke


    我沒有測試你的代碼,但是你確定不管輸入幾個(gè)參數(shù)都不行嗎?
根據(jù)你的代碼,你只能不多不少正好輸入一個(gè)參數(shù)才可以正常運(yùn)行。
因?yàn)榇a里的判斷是 argc!=2,這個(gè)argc是包括運(yùn)行程序的,也就是argc至少會為1,增加一個(gè)參數(shù)就會把a(bǔ)rgc加1,所以,你的代碼應(yīng)該是不多不少需要輸入1個(gè)參數(shù)的,多了和少了都會輸出Usage那行。

另外,參數(shù)是放入argv的,這個(gè)跟getline沒關(guān)系。
但是你的沒有用到getline的邏輯好奇怪,明明代碼里就有調(diào)用getline嘛,然后getline又會調(diào)用getchar,這個(gè)會在程序開始運(yùn)行以后從標(biāo)準(zhǔn)輸入進(jìn)行讀取的。這個(gè)標(biāo)準(zhǔn)輸入跟命令行參數(shù)沒有什么關(guān)系。

你要是不知道什么是標(biāo)準(zhǔn)輸入的話,建議你自己百度一下。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2014-11-20 11:37 |只看該作者
Monox 發(fā)表于 2014-11-20 11:12
回復(fù) 1# joychenke

我明白了。

首先,我在問題里說的”不管輸入幾個(gè)參數(shù)“,參數(shù)數(shù)目都是大于等于2的。。。

最最重要的,我沒有明白標(biāo)準(zhǔn)輸入和命令行參數(shù)。沒用到getline,是因?yàn)槲腋揪蜎]有標(biāo)準(zhǔn)輸入字符串。。。

剛試了下,輸入一個(gè)命令行參數(shù)(存在argv[]),回車,輸入任一一個(gè)字符串(此時(shí)用到函數(shù)getline()),就可以了。感謝!


論壇徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亞洲杯之阿曼
日期:2015-04-14 10:41:50NBA常規(guī)賽紀(jì)念章
日期:2015-05-04 22:32:03NBA季后賽大富翁
日期:2015-05-04 22:34:11菠菜明燈
日期:2015-05-04 22:35:49新奧爾良黃蜂
日期:2015-05-04 22:49:2315-16賽季CBA聯(lián)賽之廣夏
日期:2015-12-11 15:02:342015年亞洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亞洲杯之阿聯(lián)酋
日期:2015-03-04 11:19:04休斯頓火箭
日期:2015-03-02 16:32:11紐約尼克斯
日期:2015-03-02 16:09:04
5 [報(bào)告]
發(fā)表于 2014-11-20 11:48 |只看該作者
樓主這頭像太萌了,每天一問,有很多問題單步調(diào)試就能解決的!

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2014-11-20 12:45 |只看該作者
回復(fù) 5# super皮波

哈哈,謝謝!你的頭像我也很喜歡。O(∩_∩)O

其實(shí)2樓讓我單步調(diào)試的時(shí)候,我也在默默的在vc 6.0里試了下,結(jié)果沒有調(diào)試出來。+_+  結(jié)果發(fā)現(xiàn),這個(gè)問題的根源不在調(diào)試上。

我也反省了下,確實(shí)沒用過單步調(diào)試,遇到卡頓的地方,發(fā)帖畢竟慢了,接下來,把單步調(diào)試也用會。↖(^ω^)↗

ps:還是會多寫程序,繼續(xù)爭取一天一問。哈哈!{:2_172:}


   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP