找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻尊貴會員無限觀看附件圖片認識好友、聊天,分享生活趣事
無碼流出fc2旬果幼女vr自慰按摩
集団催眠yoake o 楓與鈴清楚ビッ大佬winter

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[簡]重啟人生的千金小

[繁]孤單一人的異世界

[繁]精靈幻想記 第二

[簡]成為名留歷史的壞

[繁]嘆氣的亡靈想隱退

[繁]精靈幻想記 第二
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 1639|回復: 7
打印上一主題下一主題

[問題]輸入存到指標時如何求資料長度[複製鏈接]

Rank: 2Rank: 2

帖子
476
積分
967 點
潛水值
33269 米
跳轉到指定樓層
樓主
發表於 2010-4-29 03:26 PM|只看該作者|倒序瀏覽
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
簡便的問題例子為
  1. #include<iostream>
  2. using namespace std;
  3. int main ()
  4. {     
  5.         char* a;
  6.         cin>>a;
  7.         cout<<a;
  8.         int b=sizeof(a);        //很明顯這裡的寫法是錯誤的
  9.         cout<<endl<<b;
  10. }
複製代碼

當我今天輸入123後,我要如何得到裡面的長度為3呢?
不能在輸入的地方下手,因為我真正應用的地方不是用正常的輸入...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

runeray2000 該用戶已被刪除
頭香
發表於 2010-4-29 05:23 PM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
註解在下面囉~~
你的原本的 cin>>a 會把輸入的資料放在未知的地方唷~~ 因為沒有指定a指向哪裡,
還有要設個空間給a指向的地方好放資料哦!

  1. #include <cstdlib>
  2. #include <iostream>
  3. using namespace std;
  4. int main ()
  5. {     
  6.         char* a;
  7.         char aa[100];          //要給輸入字串要有空間放才可以
  8.         a=aa;                  //將a指標指向 aa陣列
  9.         cin>>a;                 //如果沒有上面那一行的話,這行會把輸入的字串放在未知的地方,進而產生錯誤
  10.         cout<<a;
  11.         //int b=sizeof(a);        //很明顯這裡的寫法是錯誤的
  12.         int b=strlen(aa);         //字串資料長度是用 strlen
  13.         cout<<endl<<b;
  14.         system("pause");
  15.         return 0;
  16. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
722
積分
2721 點
潛水值
16557 米
3
發表於 2010-4-29 05:27 PM|只看該作者

使用道具檢舉

Rank: 2Rank: 2

帖子
476
積分
967 點
潛水值
33269 米
4
發表於 2010-4-29 05:42 PM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
不合法??怪哉...我可以用耶
小弟是用VC2005...莫非版本問題?
再說...這不是這問題的重點....=.=
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

hst326 該用戶已被刪除
5
發表於 2010-4-29 06:00 PM|只看該作者
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。
回復
下載: 訪客無法瀏覽下載點,請先 註冊登入會員
baepi


kaworucloud 的意思應該是 a 尚未分配到記憶體位置,
所以是不合法的,
compile 當然可以過,不過會有 runtime error




使用道具檢舉

Rank: 2Rank: 2

帖子
476
積分
967 點
潛水值
33269 米
6
發表於 2010-4-29 08:24 PM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
嗯...能不能再問一下~大大們說的會產生錯誤....是指什麼錯誤?
在怎樣的情況下會錯誤?能詳細說明嗎?因為我輸入123~cout的值也是123呀
runeray2000大大說的放在未知地方...這我知道~每本介紹C++的書都有提到...不過我現在要想辦法克服的問題就是資料存放在未知的地方(那不是我能改變的)
所以runeray2000用array的方法~能用我早就用了>.<
目前小弟的工作就是要用VC把Quest3D的SDK模組架構的值取出...然而它存放就是規定 const char*
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

hst326 該用戶已被刪除
7
發表於 2010-4-29 08:46 PM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
回復
下載: 訪客無法瀏覽下載點,請先 註冊登入會員
baepi


allocate memory space for a
  1. char *a = new char [SIZE];
  2. // after doing somthing, remember to release memory
  3. delete [] a;
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

runeray2000 該用戶已被刪除
8
發表於 2010-4-29 09:26 PM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
本帖最後由 runeray2000 於 2010-4-29 09:28 PM 編輯

回復
下載: 訪客無法瀏覽下載點,請先 註冊登入會員
baepi


資料放在未知的地方是指 char* a;這行一開始的a的值你不能確定,
執行cin >> a; 後當然a指的位置會被寫入,執行 cout << a; 後也當然會印出a指的位置
...
瀏覽完整內容,請先 註冊登入會員
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部