伊莉討論區

標題: 輸入存到指標時如何求資料長度 [打印本頁]

作者: baepi    時間: 2010-4-29 03:26 PM     標題: 輸入存到指標時如何求資料長度

簡便的問題例子為
  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呢?
不能在輸入的地方下手,因為我真正應用的地方不是用正常的輸入
作者: runeray2000    時間: 2010-4-29 05:23 PM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: kaworucloud    時間: 2010-4-29 05:27 PM

strlen()
-----------------------
cin>>a; // 不合法的動作,a指向未知空間
作者: baepi    時間: 2010-4-29 05:42 PM

不合法??怪哉...我可以用耶
小弟是用VC2005...莫非版本問題?
再說...這不是這問題的重點....=.=
作者: hst326    時間: 2010-4-29 06:00 PM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: baepi    時間: 2010-4-29 08:24 PM

嗯...能不能再問一下~大大們說的會產生錯誤....是指什麼錯誤?
在怎樣的情況下會錯誤?能詳細說明嗎?因為我輸入123~cout的值也是123呀
runeray2000大大說的放在未知地方...這我知道~每本介紹C++的書都有提到...不過我現在要想辦法克服的問題就是資料存放在未知的地方(那不是我能改變的)
所以runeray2000用array的方法~能用我早就用了>.<
目前小弟的工作就是要用VC把Quest3D的SDK模組架構的值取出...然而它存放就是規定 const char*
所以~大大們說的錯誤...是要怎樣的情況下會出錯?
至於一開始的問題...我已經用自己的辦法解決了~用指標位移就OK了(這麼簡單的方法我竟然沒想到XD)
作者: hst326    時間: 2010-4-29 08:46 PM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: runeray2000    時間: 2010-4-29 09:26 PM

提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 伊莉討論區 (http://a401.file-static.com/) Powered by Discuz!