1樓:陳學陽
改用list吧.
方法一是沒有new(沒有分配空間)
方法二是在new的時候沒有指定大小,預設是0個元素,所以對其任意乙個元素賦值都是越界.
在c#中,陣列一般用來存放大小確定的資料.
如果陣列大小未知,建議使用list<>.
lista=new list();
a.add("we");
messagebox.show(a[0]);
同時,你可以用a.toarray()來隨時轉換成string.
也可以listb=new list(a.toarray());將陣列資料初始化進list<>
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
2樓:
第一種:把字串變成char陣列:
string a = "asdfb";
char c=a.tochararray();
第二種,把該字串放到乙個動態陣列中
string a = "asdfb";
arraylist al = new arraylist();
al.add(a);
3樓:
class a ;}
c#如何將字串的每個值賦值給相應的陣列
4樓:匿名使用者
string ss="11,22,33,44,55";
var array=ss.split(new char , stringsplitoptions.removeemptyentries);//用,分割成陣列,並移除空字串
bytedd=new byte[ss.length];
for (int i = 0; i < dd.length; i++)
", array[i]);}
5樓:匿名使用者
先將ss的值用split分割出來(這兒要把最後乙個逗號去掉),然後再迴圈的將ss的值拼接上0x賦值給dd陣列啊,這樣就可以實現你要的效果了
請問在c語言中如何通過輸入字串為字元指標陣列賦值?
6樓:斯坦恩貝格(北京)電子****
首先確定是字復符指標數制組還是字元陣列指標,前者是乙個陣列,陣列每個元素都是乙個字元指標,後者是乙個指向字元陣列的指標。
若是指向字元陣列的指標,則很簡單,使用scanf("%s", str);函式獲取輸入的字串,然後使用字串拷貝函式strcpy(stc, dest);將獲取的字串拷貝到指定位址的字元指標陣列中,拷貝過程中注意檢查訪問陣列是否越界,若越界,則需要在字元陣列的最後乙個元素賦值為結束符'\0'。
若是賦值 字元指標陣列,那麼就是對陣列中的某乙個元素指向的字元陣列進行拷貝賦值,其過程與前者相同。
7樓:情義
直接在乙個字串裡面按位賦值就可以了
因為你原字串肯定是大於等於新字串的,所以
專定乙個變屬量檢查原字串的位置,定另乙個變數檢查新字串的位置。那麼第乙個變數肯定是大於等於第二個變數的。這樣可以把值從第乙個變數的地方賦值到第二個變數的位置即可。
8樓:匿名使用者
有scanf("%s");
char *p[5];
char buff[5][100];
for(int i=0;i<5;i++)
c#從鍵盤輸入一串字元,寫出程式用字串處理方法將字串變為乙個陣列.
9樓:潑墨鐵血
這是用正則按空格分離字串的,存入到spli陣列中,希望對你有所幫助
string spli = system.text.regularexpressions.regex.split(per_line_content, "\\s+")
10樓:匿名使用者
不知道你要怎麼變?
1、是乙個字元,變成乙個陣列值? 那麼就用順序讀取的方式,乙個個的賦值就行。
2、如果是不確定字元的長度,可以採用字串分割的方式進行,但是中間要有標誌字元。
比如:abc,defg,abcdef,def , 這裡的 "," 逗號,便是標誌字元。
11樓:百百
char c = console.readline().tochararray();
c#裡面怎麼把乙個字串逐個放入乙個陣列中?
12樓:匿名使用者
system.string自帶有tochararray方法,可以直接將字串轉為char陣列,也就是例如
string str = "hello, world";
char chars = str.tochararray();
13樓:匿名使用者
你的意思是 比如 hello這個字串?陣列是h,e,l,l,o?
那就可以用string.mid(i,1)函式。
14樓:匿名使用者
用for 或while迴圈語句 逐個對陣列元素賦值
15樓:匿名使用者
string s="abcde";
char t[100];
int i;
for(i=0;s.length;i++)t[i]=s[i];
t[i]=0;
16樓:
string s="abcde";
char array = new char[s.length];
for(int i=0;i < s.length; i++)array[i]=s[i];
array[i] = '\0';
或者string str= " ,.:";
char array= str.tochararray();參見:
c語言中將字串賦值給字元陣列的問題
17樓:大野瘦子
char s[20];s="helo";這樣錯誤的原因就是:不能用賦值語句將乙個字串常量直接給乙個字元陣列賦值。
char s[20];
char ss="hello";
s=ss;錯誤原因是:不能用賦值語句將乙個字元陣列直接給乙個字元陣列賦值
,即字串的複製(c語言中,但是在c++的string 類,上面的賦值是正確的)必須用strcpy()函式實現。
而char a[ ]=」toyou「;正確的原因是:因為在宣告陣列變數的時候就是,為其開闢空間,並為其初始化,這樣才是符合c語言語法的。
c語言中字串賦值的理解
一、指標式賦值
上面的示例是顯然可以正常執行的,也是很容易理解的。但是下面這種方式就令人有點難以理解了。
通過程式的運**況,我們可以知道:char *p = "hello";這種字串的賦值方式是完全沒有問題的。要理解這種賦值方式,我們首先得理解雙引號(特別注意:
這個是雙引號,不要賦值的時候給弄了個單引號)在這個語句中做了什麼工作。雙引號主要做了3個工作,分別是:
(1)申請了空間(在常量區),存放了字串。
(2)在字串尾加上了「\0」。
(3)返回位址。
這裡所返回的位址就賦值給了char *型別的指標變數p。
二、通過字元陣列直接把字串賦值。程式如下:
三、需要注意的一些問題
直接把字串賦值給陣列名(也就是陣列首元素的首位址)是不行的。
18樓:
char a ="toyou";
這才是對的,要用雙引號。
這種方式叫初始化,是可以的,"toyou"這個字串放在資料區里,在編譯階段就確定了。
a作為陣列名,它是乙個常指標,不能改變所指向的位址,只能是&a[0]所以你在非宣告的地方用a="***",就相當於改變了常量的值,是不允許的。
19樓:
#include
int main()
20樓:豬頭或火寶寶
你好!!!
舉例如下:
char s[20];s="helo";這樣是錯誤的,原因就是不能用賦值語句將乙個字串常量直接給乙個字元陣列賦值。
char s[20];
char ss="hello";
s=ss;這也是錯誤的,原因是不能用賦值語句將乙個字元陣列直接給乙個字元陣列賦值
即字串的複製(c語言中,但是在c++的string 類,上面的賦值是正確的)必須用strcpy()函式實現。
而char a[ ]=」toyou「;為上面是正確呢???那是因為我們在宣告陣列變數的時候就是,為其開闢空間,並為其初始化,這樣才是符合c語言語法的。而上面的都是不符合語法的。
c#中如何把從鍵盤輸入字串存入陣列中?
21樓:匿名使用者
string s="fdsfhjdfhdj";
char chars=s.tochararray();
C 程式如何將標準輸入重定向為檔案輸入?
先進行編譯生成exe,然後在命令列終端下,鍵入 程式名 ps 如果向輸出到檔案,再追加 test2.out 注意,in和out只不過是字尾而已,可以改為txt 中間的空格windows和unix下是不一樣的,可能加也可能不加。具體可見 c primer plus 第六中文版 p223,p225 c ...
如何將ecel中的一列中的資料輸入到c語言中的陣列
這兩樣不相同,excel是一種儲存資料的格式,c是一種運算元據的語言。用c可以操作和修改excel的內容。 5 i if xi j a j a j 1 a j x printf now array a n for i 0 i 6 i printf 4d a i printf n return 0 簡...
c 如何將多個類儲存在陣列中,c 如何將多個類儲存在乙個陣列中
所謂陣列,就是相同資料型別的元素按一定順序排列的集合,就是把有限個型別相同的變數用乙個名字命名,然後用編號區分他們的變數的集合,這個名字稱為陣列名,編號稱為下標。所以在陣列中只能儲存相同型別的類物件。要儲存多個物件,只需要定義乙個類物件陣列,然後賦值進去即可。如類名為a,要儲存最多100個物件,需要...