任意長度的字串輸入

2021-04-20 00:53:00 字數 716 閱讀 6812

任意長度的字串輸入

最近頻頻有朋友問我,用c語言怎樣才能實現任意長度的字串輸入?同時他們也談了很多自己的思路,有的建議定義乙個大型陣列,有的建議用鍊錶來實現等等,後來都被一一否定了。陣列再大空間還是乙個固定值,不能實現動態增長,事先定義不是太大了浪費記憶體,就是字串過長了導致溢位;而鍊錶的增加、查詢等操作又太顯繁瑣,效率不高,所以一直都沒乙個讓人相對滿意的結果。

就在剛才網友浪客又向我提出了這個問題,看來這個問題雖然看不到太大的實際意義,但如找不出乙個好點的解決的途徑,也似乎說不過去了。於是抽點時間寫了乙個函式,功能到也能夠滿足任意字串輸入了,至於空間倒也沒啥浪費。算是給有這方面需求的朋友提供了乙個新的思路吧!

#include

#include

#include

#define step  10   //空間增加的步長.

char * getstr()    //任意長度的字串輸入,返回字串的首位址.

number+=times*step;

while((c=getche())!='/r')   //遇到回車則輸入結束。

}*(str+len)=c;

len++;

}   

str=(char *)realloc(str,len+1);  //字串的實際長短調整空間.

*(str+len)='/0';

return str;

}int main()

CRichEditCtrl 輸入字串長度限制

1 我用 cricheditctrl 控制項,發現它通過 可以向裡面寫大於 32kb 的字元,但手工卻只能輸入小於 32767 個字元,再多則自動捨棄。2 初始化時呼叫cricheditctrl limittext設定長度 3 我測試過了,可以管用的 cricheditctrl limittext ...

EditText限制輸入字串長度

edittext限制字串輸入長度的改動辦法 1 在 xml 檔案中設定文字編輯框屬性作字元數限制 如 android maxlength 10 即限制最大輸入字元個數為10 2 在 中使用inputfilter 進行過濾 inputfilter 即限定最大輸入字元數為20 也可在inputfilte...

C語言基礎 生成任意長度的字串

在c語言程式設計中,有時候需要生成任意長度的字串以供使用。文章給出任意長度字串 包含字母和數字 生成的簡單程式。char randstr char pointer,int n pointer 0 字串結束符 return pointer n 返回指向隨機字串的指標首位址 rand 為雖然為隨機數生成...