cvi類似c語言字串陣列賦值問題

2021-12-21 07:14:59 字數 4633 閱讀 1876

1樓:匿名使用者

1、把字元陣列  0x01, 0x34,0x0e,0x0a,0x00,0xab,0xec 中的十六進位制資料轉為字串 ,字串中的字元依次為'0','1','3','4','0','e','0','a','0','0','a','b','e','c','\0'

2、例子:

char a[7] = ;

char b[15];

char t;

int i;

for(i=0;i<7;i++)

2樓:繁華落盡擱淺

我猜是不是因為 0x00剛好和字串的尾零的ascii值一樣 讀到0x00就說明這個字串到了結尾

3樓:veket的小號

想搞串列埠通訊, 龔建偉的 vc串列埠通訊 書裡講的很明白把字元陣列 0x01, 0x34,0x0e,0x0a,0x00,0xab,0xec 中的十六進位制資料

轉為字串 字串中的字元 依次為

'0','1', '3','4','0','e','0','a','0','0','a','b','e','c','\0'

接受的時候再來個逆轉換

來個例子看看吧

char a[7] = ;

char b[15];

char t;

int i;

for(i=0;i<7;i++)

b[14] = '\0';

關於c語言字串陣列和字元指標相互賦值問題

4樓:匿名使用者

你這個程式錯誤太多,沒崩潰算是運氣好

首先:char filename[50]="c:\\requestdata";這句涉及到指標強轉,會將filename指向"c:

\\requestdata"所在的地址,在對filename進行操作時就有可能崩潰。

其次:char * filearray[56];是指標陣列,儲存了56個char *型指標,而你這樣兒filearray[i] = filename;進行賦值是指標賦值,故filearray中的每個元素都會指向"c:\\requestdata"所在的地址,這也是filearray[0]--filearray[55]的值全部是c:

\requestdata的原因

這個程式需要修改的地方多著,看看指標及字串操作方面的資料吧!

5樓:匿名使用者

請參考下面程式:

#include

#include

void main()

else printf("無法建立檔案%s.\n",filename[i]);}}

6樓:匿名使用者

#include

#include

#include

int main()

return 0;}

7樓:匿名使用者

1、首先確定是字元指標陣列還是字元陣列指標,前者是一個陣列,陣列每個元素都是一個字元指標,後者是一個指向字元陣列的指標。

2、若是指向字元陣列的指標,則很簡單,使用scanf("%s", str);函式獲取輸入的字串,然後使用字串拷貝函式strcpy(stc, dest);將獲取的字串拷貝到指定地址的字元指標陣列中,拷貝過程中注意檢查訪問陣列是否越界,若越界,則需要在字元陣列的最後一個元素賦值為結束符'\0'。

3、若是賦值 字元指標陣列,那麼就是對陣列中的某一個元素指向的字元陣列進行拷貝賦值,其過程與前者相同。

c語言中怎麼字串賦值?

8樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如:test.cpp。

2、在test.cpp檔案中,輸入c語言**:char a[20];strcpy(a, "hello");printf("%s", a);。

3、編譯器執行test.cpp檔案,此時成功將字串賦值給了字串a並列印。

9樓:機鶯買茹雲

一、題目大意為輸出一個已知的字串。

解題思路:

定義一個字元陣列,並用「初始化列表」對其賦以初值

用迴圈逐個輸出此字元陣列中的字元

#include

intmain()

;int

i;for(i=0;i<15;i++)

printf("a=%c",c[i]);

printf("\n");

return0;}

擴充套件資料:

相關知識點:字元陣列的輸入輸出可以有兩種方法。

(1)逐個字元輸入輸出(%c)

(2)整個字串一次輸入輸出(%s)

輸出的字元中不包括結束符』\0』。用%s輸出字串時,printf函式中的輸出項是字元陣列名,不是陣列元素名。如果一個字元陣列中包含多個』\0』,則。遇第一個』\0』時輸出就結束

用scanf函式輸入一個字串,scanf函式中的輸入項c是已定義的字元陣列名,輸入的字串應短於已定義的字元陣列的長度。

(3)在c語言中,是將字串作為字元陣列來處理的,關心的是字串的有效長度而不是字元陣列的長度。為了測定字串的實際長度,c語言規定了字串結束標誌』\0』。

(4)』\0』代表ascii碼為0的字元,從ascii碼錶可以查到,ascii碼為0的字元不是一個可以顯示的字元,而是一個「空操作符」,即它什麼也不做。用它作為字串結束標誌不會產生附加的操作或增加有效字元,只起一個供辨別的標誌

(5)字元的不同寫法

(6)字串結束標誌

10樓:廖星扈飛宇

在c語言中,字串是以字元陣列形式儲存的,並約定以\0作為結束符。所以字串賦值不能直接用=賦值,而是要用專門的函式進行復制,在c語言中,這個函式為strcpy。

1函式名

:strcpy

2形式:

char

*strcpy(char

*dst,

const

char

*src);

3標頭檔案:

string.h

4功能:

將src中的字串複製到dst中,並返回dst的首地址。

5示例:

char

buf[100],

buf1[100];

strcpy(buf,

"test");//

將字串test賦值到buf。

strcpy(buf1,

buf);

//將字串buf的值,賦值給buf1.

11樓:

char x[50]="fbajdhajfgj";

char y="ffhadhjafgh";

char *z="as****g";//不建議用scanf("%s",x);

printf("%s",x);

12樓:匿名使用者

#include "string.h"

........

char str[10];

strcpy(str,"abcd");

13樓:

char string[100],*ptr;

ptr=string;

gets(ptr);

14樓:南坪中學校帥

上面太麻煩了

直接void main()}

可以通過賦值語句將一個字串賦給一個字元陣列嗎?

15樓:匿名使用者

宣告的時候可以,否則的話只能使用strcpy,或者一個成員一個成員的賦值

宣告的時候:

char str[20]="1234567890";

或者:char str[20]=;

strcpy(str,"1234567890");

請問在c語言中如何通過輸入字串為字元指標陣列賦值?

16樓:斯坦恩貝格(北京)電子****

首先確定是字復符指標數制組還是字元陣列指標,前者是一個陣列,陣列每個元素都是一個字元指標,後者是一個指向字元陣列的指標。

若是指向字元陣列的指標,則很簡單,使用scanf("%s", str);函式獲取輸入的字串,然後使用字串拷貝函式strcpy(stc, dest);將獲取的字串拷貝到指定地址的字元指標陣列中,拷貝過程中注意檢查訪問陣列是否越界,若越界,則需要在字元陣列的最後一個元素賦值為結束符'\0'。

若是賦值 字元指標陣列,那麼就是對陣列中的某一個元素指向的字元陣列進行拷貝賦值,其過程與前者相同。

17樓:情義

直接在一個字串裡面按位賦值就可以了

因為你原字串肯定是大於等於新字串的,所以

專定一個變屬量檢查原字串的位置,定另一個變數檢查新字串的位置。那麼第一個變數肯定是大於等於第二個變數的。這樣可以把值從第一個變數的地方賦值到第二個變數的位置即可。

18樓:匿名使用者

有scanf("%s");

char *p[5];

char buff[5][100];

for(int i=0;i<5;i++)

C語言字串,求大佬,C語言字串陣列的問題

在語句for j 0 s j 0 j 中,j 記錄的是串s的字元個數,結束該迴圈時,s j 恰好是 0 在接下來的for迴圈中,第一個j 後,s j 是串s的最後一個字元,而i為0,迴圈體將s 0 與s j 進行交換,第二個j 是正常遞減,以便與i 相對應,交換s i 和s j 沒那個程式之類執行不...

C語言字串

錯誤在註釋中給出了 程式正確執行 include void main else if str i 等號是 是賦值 else if str i 等號是 是賦值 j letter blank gantan printf n d n j 先分析一下你的 for i 0 str i 0 i 你應該改成 fo...

用c語言寫字串逆序輸出,用C語言寫 字串逆序輸出

逆序輸出有很多種,具體的實現方法取決於你題目的要求 1.如果只是要求逆序輸出,那麼可以採用類似的方法 void reverse char s 這種方法在s很長的情況下會一直遞迴到底,不是很好。2.如果需要將字串整個逆序在函式外面輸出,那麼可能希望採用返回字串指標的方式 實現如下 char rever...