C中如何將輸入的字串賦值到陣列

時間 2021-05-05 20:24:30

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個物件,需要...