廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 11100 個閱讀者
 
<< 上頁  1   2   3  下頁 >>(共 3 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 csr 於 2011-05-17 10:07 發表的 : 到引言文
說真的
大大若不提起
小弟還真不好再請教大大
因為所學還不是了解
所以再試還是無法開啟
小弟又不曉得怎麼請教發問
所以至今還是無解
另外大大所說debug設定中斷點
小弟實在也不知要怎麼作
所以這問題小弟就暫放下
等再一次覆習後看能不能把它完成
小弟在此感謝大大指示一個方向
我會努力去作看看
謝謝大大您地指導

關於dev-c debug使用請參考下面連結(關鍵字:dev-c 中斷點)
http://ez2learn.com/index.php/c-tut...3-dev-cdebugger

visual studio (也可以直接點要設中斷的那一行前面):
http://msdn.microsoft.com/...ry/15d1wtaf(v=vs.80).aspx

不瞭解的話,就多想~

想不通的話,就把想不通的部分拿出來問~如果可以把您的想法說出來,或許有人可以幫您找出您的盲點~

要想過才會知道可能的問題在那邊嚕XDD

如果上述的步驟您都有做到,那麼可能就要再看問題出在那邊嚕~

有時候,還真的要臉皮厚一點,才比較問的到東西。XD

但不是擺爛的臉皮厚喔..XDD



恩...
獻花 x0 回到頂端 [10 樓] From:臺灣中華電信股份有限公司 | Posted:2011-05-17 10:21 |
csr
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x0 鮮花 x898
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

依大大po地網頁
該程式只能執行到底下
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(int argc, char* argv[])
{
FILE *fp;
char ch;
int isword, i;

if(argc != 2){
  printf("參數的個數錯誤。\n");
  return 1;
 
}
再來就無法開起了
要設專案它程現反白
無法設定
當中斷點用到上面
有跑出視窗
參數錯誤
再往下設中斷值行就跳不出視窗了
不知是何原故


獻花 x0 回到頂端 [11 樓] From:臺灣行政院研究發展考核委員會 | Posted:2011-05-17 11:25 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

有圖嗎?

上次有麻煩您去找有關command line的資料,不知您找的如何了呢?

希望wiki能幫上您的忙:
http://en.wikipedia.org/wiki/Command-line_interface

這段是用來判斷進來的command line參數是否正確。從程式碼看來他參數是傳入檔案路徑。
複製程式
  if(argc != 2){
    printf("參數的個數錯誤。\n");
    return 1;
  }

這邊是將傳入的檔案打開,失敗的話就離開。
複製程式
  fp = fopen(argv[1], "re");
  if(fp == NULL){
    printf("無法開啟檔案。\n");
    return 1;
  }

所以用debug的確會從第一個return就結束了,因為debug模式執行的時候,要自己設定傳入的command line。

所以您最早說的不能執行,在下猜想,您應該有8成以上是直接點選程式沒錯八?

如您的操作方法是這樣沒錯的話,那麼可以使用命令提示字元來執行此程式,只是記得要給程式所以開啟的檔案路徑。


恩...
獻花 x0 回到頂端 [12 樓] From:臺灣中華電信股份有限公司 | Posted:2011-05-17 21:42 |
csr
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x0 鮮花 x898
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 totsi 於 2011-05-17 21:42 發表的 : 到引言文
有圖嗎?
上次有麻煩您去找有關command line的資料,不知您找的如何了呢?
希望wiki能幫上您的忙:
http://en.wikipedia.org/wiki/Command-line_interface
這段是用來判斷進來的command line參數是否正確。從程式碼看來他參數是傳入檔案路徑。
.......

有去查
但是說正格地
不大清楚command line它的內容
而參數小弟在除錯時有用
但是執行上仍有問題
請教大大
小弟是要用dos方式來下命令嗎
還是大大是其他意思
謝謝


獻花 x0 回到頂端 [13 樓] From:局域網對方和您在同一內部網 | Posted:2011-05-18 09:43 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

那就看你要不要說說,你覺得那邊看不清楚?

如果參數在除錯的時候有用,那執行上是什麼問題?

前面有說system("pause")加到return前面的東西,你可以把他編譯成release版本。

這樣就可以在執行時期看到跳出來的畫面了。

是用dos的方式下命令沒錯。

dev-c也提供在debug模式下預先輸入參數的部分。請參考下列連結 Step 5: Execute.
http://www.uniqueness-t...m/devcpp/

簡單來說,command line就是我們在執行程式的時候,在執行檔後面所打的參數。

系統會把那些參數透過argv[]來傳給執行中的程式。

有玩過在捷徑的執行檔路徑後面下參數嗎?這就是那個東西。

如果您不會使用命令提示字元的話,用捷徑來傳入command line也是一個方法,只是使用後要刪除,手續比較麻煩XD。

你可以去查一下ipconfig這個指令,一般講解會順便把傳入的參數也解釋一次,那個就是所謂的commnad-line參數。


[ 此文章被totsi在2011-05-19 08:55重新編輯 ]

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: totsi 大真是佛心來的 ^^ 連我都受教了


恩...
獻花 x1 回到頂端 [14 樓] From:臺灣中華電信股份有限公司 | Posted:2011-05-18 19:47 |
csr
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x0 鮮花 x898
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

大大您好
小弟過去是玩硬體
所以在一些dos,cmd...等命令並不很清楚
因為不懂所以也不知怎麼來跟大大請教
另外command line說明的理念真的小弟並不瞭解
就連大大說地(編譯成release版本)小弟我也模糊了
真的很抱歉
讓大大對小弟這樣地學生可能會很煩
小弟在此先說一聲對不起
不過
小弟現今一直在加強這方面的知識
希望以後可以比較正面的來跟大大討教
謝謝


獻花 x0 回到頂端 [15 樓] From:臺灣行政院研究發展考核委員會 | Posted:2011-05-19 09:52 |
csr
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x0 鮮花 x898
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 csr 於 2011-05-19 09:52 發表的 : 到引言文
大大您好
小弟過去是玩硬體
所以在一些dos,cmd...等命令並不很清楚
因為不懂所以也不知怎麼來跟大大請教
另外command line說明的理念真的小弟並不瞭解
就連大大說地(編譯成release版本)小弟我也模糊了
真的很抱歉
讓大大對小弟這樣地學生可能會很煩
小弟在此先說一聲對不起
不過
小弟現今一直在加強這方面的知識
希望以後可以比較正面的來跟大大討教
謝謝


小弟用命令提示字元去開檔
還是只開出參數的個數錯誤
不知這程式碼是無法執行嗎
謝謝


獻花 x0 回到頂端 [16 樓] From:臺灣行政院研究發展考核委員會 | Posted:2011-05-19 10:31 |
三仙 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
頭銜:以馬內利 以馬內利
版主
級別: 版主 該用戶目前不上站
版區: 程式設計
推文 x17 鮮花 x370
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

圖 1. 程式執行結果   
程式執行結果

圖 2. Main 不傳入第二 args 且修改程式開檔參數   
Main 不傳入第二 args 且修改程式開檔參數

圖 3. 修改並執行結果   
修改並執行結果



下面是引用 csr 於 2011-05-19 10:31 發表的 : 到引言文



小弟用命令提示字元去開檔
還是只開出參數的個數錯誤
不知這程式碼是無法執行嗎
謝謝


挖出答案的難度,取決提問的深度!
獻花 x2 回到頂端 [17 樓] From:臺灣中華電信股份有限公司 | Posted:2011-05-19 15:41 |
totsi
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x53
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

首先,先感謝版大的花..XD

我只是比較雞婆而已,雖然有些觀念還有待加強~XDD

版大比較佛心~連圖都有了...XD

我是比較懶惰,能用打字跟連結,就用打字跟連結的了。^^|||

================

您所找到的範例程式使用方式的確像是版大所提供的圖的用法。

底下用版大提供的圖來說明:

hello.exe是執行檔名稱。2是傳入的第一個參數

所以argc會等於2(個參數)。

argv[0]是執行檔路徑。

argv[1]則是2。

----------------------------------------------------------
所以這個程式執行會遇到兩個問題:
1.傳入的參數數量不正確:
  問題:這樣會讓程式無法繼續進行。
  原因:因為這個範例設定一定要傳入檔案路徑才能繼續執行。所以當傳入的參數數
        量不對,就會結束程式。
  解法:在執行程式的時候,一併把檔案路徑傳入。

2.找不到傳入的檔案路徑:
  問題:程式無法處理找不到的檔案的內容。
  原因:檔案不存在。或者傳入的參數不是檔案路徑。
  解法:給程式存在的檔案路徑,或是自行建立一個新檔。

===========================

如上述說法還是不清楚,建議您,先把讀寫檔單獨處理(類似版大提供的方式)。

寫個99乘法表檔,然後檔案路徑先用介面輸入或寫死在程式內都可以。

等檔案讀寫ok後,再來處理參數傳入的問題,這樣或許會比較快上手。

畢竟您提供的範例,一次包含了兩樣的觀念(傳入參數、檔案讀寫),所以要完成練習,就必須先有這兩樣的觀念。

不知您有沒有玩過half life?

在要使用密技之前,需先修改捷徑內容,把-console參數加到路徑後面。
Ex: hl.exe -console

這邊的-console就會被系統透過argv[]傳給hl.exe。

當初在玩的時候,因為什麼程式設計都不懂,就跟著說明照打而已。

後來接觸多了,才知道那個原來就是command line parameter阿。XDD

PS.補充一下:
  在VC++的部分,argv[]存的是char*,所以實際上指向argv[0],是取出第一個位置的字串陣列。
  至於Dev-C++在下不熟,所以還要請其他高手補充嚕。^^m


[ 此文章被totsi在2011-05-20 11:37重新編輯 ]


恩...
獻花 x2 回到頂端 [18 樓] From:臺灣中華電信股份有限公司 | Posted:2011-05-19 18:46 |
三仙 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
頭銜:以馬內利 以馬內利
版主
級別: 版主 該用戶目前不上站
版區: 程式設計
推文 x17 鮮花 x370
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 csr 於 2011-05-08 20:29 發表的 請問為何執行畫面無法停住: 到引言文
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main(int argc, char* argv[])
{
  FILE *fp;
  char ch;
  int isword, i;

  if(argc != 2){
    printf("參數的個數錯誤。\n");
    return 1;
  }

  fp = fopen(argv[1], "re");

  if(fp == NULL){
    printf("無法開啟檔案。\n");
    return 1;
  }

  i = 0; isword = 0;
  while((ch = fgetc(fp)) != EOF){
    if(isspace(ch) || ispunct(ch)){
      isword = 0;
    }
    else if(isword == 0){
      isword = 1;
      i++;
    }    
  }
  printf("單字數:%d\n", i);

  fclose(fp);

  system("pause");
  return 0;
}

.......


其實這個程式最有問題的地方
個人覺得是  fp = fopen(argv[1], "re");

1.為什麼是 argv[1]  ?
    小弟記得 Dev-C++ 沒有字串陣列,只有字元陣列;所以 argv[1]  代表一個字元,檔案名稱+副檔名 都不祇一個字了
2.為什麼是  "re"  ?
   詳如存取模式的表格

圖 1. 存取模式   
存取模式



挖出答案的難度,取決提問的深度!
獻花 x2 回到頂端 [19 樓] From:臺灣中華電信股份有限公司 | Posted:2011-05-20 09:52 |

<< 上頁  1   2   3  下頁 >>(共 3 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.022898 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言