當前位置:首頁 » 編程語言 » c語言字元串用法

c語言字元串用法

發布時間: 2022-10-03 03:13:28

c語言如何表示字元串

C語言中並沒有字元串這個類型,表示字元串時,需要使用字元數組,或字元指針。即char型數組,或char *指針。

char str[100] = "hello world";
就是一種字元串的表示方法。

另外,在C語言中,約定用字元數組表示字元串時,以'\0'為字元串結尾,即ascii碼0。

⑵ 在C語言中怎麼輸入一個字元串

在c語言中存儲一個字元串,一般有兩種方法,一種是字元指針,一種是使用字元數組。比如:
const char *str = "hello"; //使用字元串指針
const char str[] = "hello"; //使用字元數組
如果保存的字元串,需要修改。一般使用字元數組。比如:
char path[256] = "c:\\windows\\";
strcat(path, "system32");

⑶ C語言 字元串的使用

答案選擇C,因為輸入的字元串把之前保存的覆蓋了,然後又將6789接到abc的後面,最後就得到了C選項

⑷ c語言中如何輸入輸出字元串

在<string.h>頭文件中用字元串處理函數輸入和輸出,gest用來輸入,puts用來輸出。

字元串輸入函數gets,從鍵盤鍵入以回車結束的字元串放入字元數組中,並自動加』'。輸入串長度應小於字元數組維數,字元串中可以包含空格。

字元串輸出函數puts,向顯示器輸出字元串(輸出完,自動換行,即用' '替'')。字元數組必須以''結束。

示例代碼如下:

#include<string.h>

int main()

{

char str[40];

printf("請輸入字元串");

gets(str);

printf("請輸出字元串");

puts(str);

system("pause");

return 0;

}

(4)c語言字元串用法擴展閱讀

在C中,對文件的操作分為兩種方式,即流式文件操作和I/O文件操作。

流式文件操作,這種方式的文件操作有一個重要的結構FILE,FILE在頭文件stdio.h中定義如下:

typedef struct {

int level; /* fill/empty level of buffer */

unsigned flags; /* File status flags */

char fd; /* File descriptor */

unsigned char hold; /* Ungetc char if no buffer */

int bsize; /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp; /* Current active pointer */

unsigned istemp; /* Temporary file indicator */

short token; /* Used for validity checking */

} FILE; /* This is the FILE object */

直接I/O文件操作,這是C提供的另一種文件操作,它是通過直接存/取文件來完成對文件的處理,此類文件操作常用的函數及其所用的一些符號在io.h和 fcntl.h中定義,在使用時要加入相應的頭文件。

⑸ 在c語言中怎樣定義字元串

在c語言中定義字元串:

  1. C語言中用字元型CHAR來表示存儲字元,沒有C++裡面的可以單獨的字元串類型String;

  2. 所以C裡面使用字元數組和字元指針來實現字元串功能;

  3. C的字元數組只能在定義時一起賦值,以後只能給單個元素一一賦值;

  4. char string0[10];

  5. char string1[]="prison break";

  6. char string2[100]="michael scofield";

  7. 1句表示定義個長度為10的字元串,但未賦值,2句表示定義了一個字元數組string1,並進行初始化,使得其長度自動為13(字元串」prison break"中的字元個數加上結尾的''),3句定義了一個有100個元素的字元數組string2,並初始化了17個元素("michael scofield";加上結尾的'')。

⑹ C語言字元串的應用

trcpy(p, p1) 復制字元串
strncpy(p, p1, n) 復制指定長度字元串
strcat(p, p1) 附加字元串
strncat(p, p1, n) 附加指定長度字元串
strlen(p) 取字元串長度
strcmp(p, p1) 比較字元串
strcasecmp忽略大小寫比較字元串
strncmp(p, p1, n) 比較指定長度字元串
strchr(p, c) 在字元串中查找指定字元
strrchr(p, c) 在字元串中反向查找
strstr(p, p1) 查找字元串
strpbrk(p, p1) 以目標字元串的所有字元作為集合,在當前字元串查找該集合的任一元素
strspn(p, p1) 以目標字元串的所有字元作為集合,在當前字元串查找不屬於該集合的任一元素的偏移
strcspn(p, p1) 以目標字元串的所有字元作為集合,在當前字元串查找屬於該集合的任一元素的偏移
* 具有指定長度的字元串處理函數在已處理的字元串之後填補零結尾符
2)字元串到數值類型的轉換
strtod(p, ppend) 從字元串 p 中轉換 double 類型數值,並將後續的字元串指針存儲到 ppend 指向的 char* 類型存儲。
strtol(p, ppend, base) 從字元串 p 中轉換 long 類型整型數值,base 顯式設置轉換的整型進制,設置為 0 以根據特定格式判斷所用進制,0x, 0X 前綴以解釋為十六進制格式整型,0 前綴以解釋為八進制格式整型
atoi(p) 字元串轉換到 int 整型
atof(p) 字元串轉換到 double 符點數
atol(p) 字元串轉換到 long 整型
3)字元檢查
isalpha() 檢查是否為字母字元
isupper() 檢查是否為大寫字母字元
islower() 檢查是否為小寫字母字元
isdigit() 檢查是否為數字
isxdigit() 檢查是否為十六進制數字表示的有效字元
isspace() 檢查是否為空格類型字元
iscntrl() 檢查是否為控制字元
ispunct() 檢查是否為標點符號
isalnum() 檢查是否為字母和數字
isprint() 檢查是否是可列印字元
isgraph() 檢查是否是圖形字元,等效於 isalnum() | ispunct()
4)函數原型
原型:strcpy(char destination[], const char source[]);
功能:將字元串source拷貝到字元串destination中
常式:
#include
#include
void main(void)
{
char str1[10] = { "TsinghuaOK"};
char str2[10] = { "Computer"};
cout <<strcpy(str1,str2)<<endl;
}
運行結果是:Computer
第二個字元串將覆蓋掉第一個字元串的所有內容!
注意:在定義數組時,字元數組1的字元串長度必須大於或等於字元串2的字元串長度。不能用賦值語句將一個字元串常量或字元數組直接賦給一個字元數組。所有字元串處理函數都包含在頭文件string.h中。

strncpy(char destination[], const char source[], int numchars);
strncpy:將字元串source中前numchars個字元拷貝到字元串destination中。
strncpy函數應用舉例
原型:strncpy(char destination[], const char source[], int numchars);
功能:將字元串source中前numchars個字元拷貝到字元串destination中
常式:
#include
#include
void main(void)
{
char str1[10] = { "Tsinghua "};
char str2[10] = { "Computer"};
cout <<strncpy(str1,str2,3)<<endl;
}
運行結果:Comnghua
注意:字元串source中前numchars個字元將覆蓋掉字元串destination中前numchars個字元!
原型:strcat(char target[], const char source[]);
功能:將字元串source接到字元串target的後面
常式:
#include
#include
void main(void)
{
char str1[] = { "Tsinghua "};
char str2[] = { "Computer"};
cout <<strcpy(str1,str2)<<endl;
}
運行結果:Tsinghua Computer
注意:在定義字元數組1的長度時應該考慮字元數組2的長度,因為連接後新字元串的長度為兩個字元串長度之和。進行字元串連接後,字元串1的結尾符將自動被去掉,在結尾串末尾保留新字元串後面一個結尾符。
原型:strncat(char target[], const char source[], int numchars);
功能:將字元串source的前numchars個字元接到字元串target的後面
常式:
#include
#include
void main(void)
{
char str1[] = { "Tsinghua "};
char str2[] = { "Computer"};
cout <<strncat(str1,str2,3)<<endl;
}
運行結果:Tsinghua Com

原型:int strcmp(const char firststring[], const char secondstring);
功能:比較兩個字元串firststring和secondstring
常式:
#include
#include
void main(void)
{
char buf1[] = "aaa";
char buf2[] = "bbb";
char buf3[] = "ccc";
int ptr;
ptr = strcmp(buf2,buf1);
if(ptr > 0)
cout <<"Buffer 2 is greater than buffer 1"<<endl;
else
cout <<"Buffer 2 is less than buffer 1"<<endl;
ptr = strcmp(buf2,buf3);
if(ptr > 0)
cout <<"Buffer 2 is greater than buffer 3"<<endl;
else
cout <<"Buffer 2 is less than buffer 3"<<endl;
}
運行結果是:Buffer 2 is less than buffer 1
Buffer 2 is greater than buffer 3

原型:strlen( const char string[] );
功能:統計字元串string中字元的個數
常式:
#include
#include
void main(void)
{
char str[100];
cout <<"請輸入一個字元串:";
cin >>str;
cout <<"The length of the string is :"<<strlen(str)<<"個"<<endl;
}
運行結果The length of the string is x (x為你輸入的字元總數字)
注意:strlen函數的功能是計算字元串的實際長度,不包括'\0'在內。另外,strlen函數也可以直接測試字元串常量的長度,如:strlen("Welcome")。

void *memset(void *dest, int c, size_t count);
將dest前面count個字元置為字元c. 返回dest的值.
void *memmove(void *dest, const void *src, size_t count);
從src復制count位元組的字元到dest. 如果src和dest出現重疊, 函數會自動處理. 返回dest的值.
void *memcpy(void *dest, const void *src, size_t count);
從src復制count位元組的字元到dest. 與memmove功能一樣, 只是不能處理src和dest出現重疊. 返回dest的值.
void *memchr(const void *buf, int c, size_t count);
在buf前面count位元組中查找首次出現字元c的位置. 找到了字元c或者已經搜尋了count個位元組, 查找即停止. 操作成功則返回buf中首次出現c的位置指針, 否則返回NULL.
void *_memccpy(void *dest, const void *src, int c, size_t count);
從src復制0個或多個位元組的字元到dest. 當字元c被復制或者count個字元被復制時, 復制停止.
如果字元c被復制, 函數返回這個字元後面緊挨一個字元位置的指針. 否則返回NULL.
int memcmp(const void *buf1, const void *buf2, size_t count);
比較buf1和buf2前面count個位元組大小.
返回值< 0, 表示buf1小於buf2;
返回值為0, 表示buf1等於buf2;
返回值> 0, 表示buf1大於buf2.
int memicmp(const void *buf1, const void *buf2, size_t count);
比較buf1和buf2前面count個位元組. 與memcmp不同的是, 它不區分大小寫.
返回值同上.
char *strrev(char *string);
將字元串string中的字元順序顛倒過來. NULL結束符位置不變. 返回調整後的字元串的指針.
char *_strupr(char *string);
將string中所有小寫字母替換成相應的大寫字母, 其它字元保持不變. 返回調整後的字元串的指針.
char *_strlwr(char *string);
將string中所有大寫字母替換成相應的小寫字母, 其它字元保持不變. 返回調整後的字元串的指針.
char *strchr(const char *string, int c);
查找字 串string中首次出現的位置, NULL結束符也包含在查找中. 返回一個指針, 指向字元c在字元串string中首次出現的位置, 如果沒有找到, 則返回NULL.
char *strrchr(const char *string, int c);
查找字元c在字元串string中最後一次出現的位置, 也就是對string進行反序搜索, 包含NULL結束符.
返回一個指針, 指向字元c在字元串string中最後一次出現的位置, 如果沒有找到, 則返回NULL.
char *strstr(const char *string, const char *strSearch);
在字元串string中查找strSearch子串. 返回子串strSearch在string中首次出現位置的指針. 如果沒有找到子串strSearch, 則返回NULL. 如果子串strSearch為空串, 函數返回string值.
char *strp(const char *strSource);
函數運行中會自己調用malloc函數為復制strSource字元串分配存儲空間, 然後再將strSource復制到分配到的空間中. 注意要及時釋放這個分配的空間.
返回一個指針, 指向為復制字元串分配的空間; 如果分配空間失敗, 則返回NULL值.
char *strcat(char *strDestination, const char *strSource);
將源串strSource添加到目標串strDestination後面, 並在得到的新串後面加上NULL結束符. 源串strSource的字元會覆蓋目標串strDestination後面的結束符NULL. 在字元串的復制或添加過程中沒有溢出檢查, 所以要保證目標串空間足夠大. 不能處理源串與目標串重疊的情況. 函數返回strDestination值.
char *strncat(char *strDestination, const char *strSource, size_t count);
將源串strSource開始的count個字元添加到目標串strDest後. 源串strSource的字元會覆蓋目標串strDestination後面的結束符NULL. 如果count大於源串長度, 則會用源串的長度值替換count值. 得到的新串後面會自動加上NULL結束符. 與strcat函數一樣, 本函數不能處理源串與目標串重疊的情況. 函數返回strDestination值.
char *strcpy(char *strDestination, const char *strSource);
復制源串strSource到目標串strDestination所指定的位置, 包含NULL結束符. 不能處理源串與目標串重疊的情況.函數返回strDestination值.
char *strncpy(char *strDestination, const char *strSource, size_t count);
將源串strSource開始的count個字元復制到目標串strDestination所指定的位置. 如果count值小於或等於strSource串的長度, 不會自動添加NULL結束符目標串中, 而count大於strSource串的長度時, 則將strSource用NULL結束符填充補齊count個字元, 復制到目標串中. 不能處理源串與目標串重疊的情況.函數返回strDestination值.
char *strset(char *string, int c);
將string串的所有字元設置為字元c, 遇到NULL結束符停止. 函數返回內容調整後的string指針.
char *strnset(char *string, int c, size_t count);
將string串開始count個字元設置為字元c, 如果count值大於string串的長度, 將用string的長度替換count值. 函數返回內容調整後的string指針.
size_t strspn(const char *string, const char *strCharSet);
查找任何一個不包含在strCharSet串中的字元 (字元串結束符NULL除外) 在string串中首次出現的位置序號. 返回一個整數值, 指定在string中全部由characters中的字元組成的子串的長度. 如果string以一個不包含在strCharSet中的字元開頭, 函數將返回0值.
size_t strcspn(const char *string, const char *strCharSet);
查找strCharSet串中任何一個字元在string串中首次出現的位置序號, 包含字元串結束符NULL.
返回一個整數值, 指定在string中全部由非characters中的字元組成的子串的長度. 如果string以一個包含在strCharSet中的字元開頭, 函數將返回0值.
char *strspnp(const char *string, const char *strCharSet);
查找任何一個不包含在strCharSet串中的字元 (字元串結束符NULL除外) 在string串中首次出現的位置指針. 返回一個指針, 指向非strCharSet中的字元在string中首次出現的位置.
char *strpbrk(const char *string, const char *strCharSet);
查找strCharSet串中任何一個字元在string串中首次出現的位置, 不包含字元串結束符NULL.
返回一個指針, 指向strCharSet中任一字元在string中首次出現的位置. 如果兩個字元串參數不含相同字元, 則返回NULL值.
int strcmp(const char *string1, const char *string2);
比較字元串string1和string2大小.
返回值< 0, 表示string1小於string2;
返回值為0, 表示string1等於string2;
返回值> 0, 表示string1大於string2.
int stricmp(const char *string1, const char *string2);
比較字元串string1和string2大小,和strcmp不同, 比較的是它們的小寫字母版本.返回值與strcmp相同.
int strcmpi(const char *string1, const char *string2);
等價於stricmp函數, 只是提供一個向後兼容的版本.
int strncmp(const char *string1, const char *string2, size_t count);
比較字元串string1和string2大小,只比較前面count個字元. 比較過程中, 任何一個字元串的長度小於count, 則count將被較短的字元串的長度取代. 此時如果兩串前面的字元都相等, 則較短的串要小.
返回值< 0, 表示string1的子串小於string2的子串;
返回值為0, 表示string1的子串等於string2的子串;
返回值> 0, 表示string1的子串大於string2的子串.
int strnicmp(const char *string1, const char *string2, size_t count);
比較字元串string1和string2大小,只比較前面count個字元. 與strncmp不同的是, 比較的是它們的小寫字母版本. 返回值與strncmp相同.
char *strtok(char *strToken, const char *strDelimit);
在strToken 串中查找下一個標記, strDelimit字元集則指定了在當前查找調用中可能遇到的分界符. 返回一個指針, 指向在strToken中找到的下一個標記. 如果找不到標記, 就返回NULL值. 每次調用都會修改strToken內容, 用NULL字元替換遇到的每個分界符.
c++概念字元串操作
一、char_traits 字元特徵類
1)意義:包裝特定串元素的通用行為界面,以便容器實現時依據特徵信息而執行特定行為
2)定義了通用類型名
typedef _Elem char_type;
typedef int int_type;
typedef streampos pos_type;
typedef streamoff off_type;
typedef mbstate_t state_type;
其中 int_type 表示字元元素轉換到特定編碼時的整型表示,pos_type, off_type 分別作為字元串索引和字元串元素偏移的類型,類似容器迭中的指針,迭代類型和指針,迭代器的偏移類型。最後的 state_type 用於存儲流狀態,如出錯,格式控制等等。
3)定義了字元 / 字元串操作的包裝界面,以便通用演算法的調用
assign(a, b) 定義將 b 字元賦值給 a 字元的過程,實現 a.operator = 的行為
eq(a, b) 定義 a 字元和 b 字元的相等關系,實現 a.operator == 的行為
lt(a, b) 定義 a 小於 b 的關系,實現 a.operator < 的行為
compare(a_ptr, b_ptr, cnt) 定義兩組字元串的比較,返回 int 類型,實現類似 memcmp 的行為
length(ptr) 定義取字元串長度,實現類似 strlen 的行為
(a_ptr, b_ptr, cnt) 定義兩組字元串的復制,實現類似 memcpy 的行為
move(a_ptr, b_ptr, cnt) 定義兩組字元串的不重疊復制,實現類似 memmove 的行為
assign(ptr, cnt, ch) 定義了填充字元串的過程,實現類似 memset 的行為
to_int_type(ch) 定義了 char_type 到 int_type 整型的轉換過程
to_char_type(n) 定義了 int_type 到 char_type 字元型的轉換過程
eq_int_type(a, b) 定義兩個和當前 char_type 類型對應的 int_type 的相等關系
eof() 定義字元串結尾符,使用整型表示
not_eof(n) 定義非字元串結尾符,若輸入結尾符,則返回 1,其他輸入返回原值,即總是不返回 eof()
4)int_type 類型應是當前字元類型的整型編碼
二、std::string 並不是序列容器,沒有 front() 和 back() 界面用於取出前端和尾端的元素,使用 std::string::operator [] 並傳遞 streampos 類型取得特定元素,如 std::string::size() - 1 作為索引取得最後一個字元

三、basic_string 支持的初始化
1)默認初始化
2)分配器
3)復制構造
4)局部復制 [_Roff, _Roff + _Count)
5)局部復制 + 分配器
6)C 字元串 [_Ptr, )
7)C 字元串 + _Count [_Ptr, _Ptr + _Count)
8)C 字元串 + 分配器
9)C 字元串 + _Count + 分配器 [_Ptr, _Ptr + _Count)
10)_Count * _Ch
11)_Count * _Ch + 分配器
12)迭代器 [_ItF, _ItL)
13)迭代器 + 分配器
字元到串不能初始化,但支持 operator = 賦值和 operator += 累加賦值運算。
四、字元串的區間有效性
對串的索引訪問在超過字元串的有效區間時,因為串的在實現上對內置的字元緩沖區執行下標訪問,所以不會導致異常,但是將得到不可預知的結果,通常是不可用的。
將其他字元串作為右值輸入時,對該串取出計數大於串大小時按串大小計算。
std::basic_string::size_type 的實際類型為 size_t,在 Visual C++ 7.1 中實現為 unsigned,std::basic_string::npos 被靜態設定為
(basic_string::size_type)(-1);
在查找子字元串等操作時,函數返回 npos 的值表示非法索引。

五、比較字元串
允許的比較對象
1)compare(s2) 其他同類型字元串
2)compare(p) C 風格字元串
3)compare(off, cnt, s2) [off, off + cnt) 同 s2 執行比較
4)compare(off, cnt, s2, off2, cnt2) [off, off + cnt) 同 s2 [off2, cnt2) 執行比較
5)compare(off, cnt, p) [off, off + cnt) 同 [p , ) 執行比較
6)compare(off, cnt, p, cnt2) [off, off + cnt) 同 [p, p + cnt2) 執行比較
返回 -1, 0, 1 作為小於、等於和大於的比較結果。
六、附加數據
1)使用 operator += 接受其他字元串,C 風格字元串和字元
2)使用 push_back() 在尾部附加字元,並使得通過字元串構造的 back_iterator 可以訪問
3)append() 附加
1、append(s) 追加字元串
2、append(s, off, cnt) 追加字元串 s [off, off + cnt)
3、append(p) 追加字元串 [p, )
4、append(p, cnt) 追加字元串 [p, p + cnt)
5、append(n, c) 填充 n * c
6、append(InF, InL) 追加輸入流 [InF, InL)
4)insert() 插入
1、insert(off, s2) 插入字元串
2、insert(off, s2, off2, cnt2) 插入字元串 s [off2, off2 + cnt2)
3、insert(off, p) 插入字元串 [p, )
4、insert(off, p, cnt) 插入字元串 [p, p + cnt)
5、insert(off, n, c) 插入 n * c
6、insert(iter) 元素默認值填充
7、insert(iter, c) 插入特定元素
8、insert(iter, n, c) 插入 n*c
9、insert(iter, InF, InL) 插入 [InF, InL)
5)operator +(a, b)
字元串關聯運算符重載中支持 operator + 的形式
1、s + s
2、s + p
3、s + c
4、p + s
5、c + s
七、查找、替換和清除
1)find() 查找
1、find(c, off) 在 s [off, npos) 中查找 c
2、find(p, off, n) 在 s [off, npos) 中查找 [p, p + n)
3、find(p, off) 在 s [off, npos) 中查找 [p, )
4、find(s2, off) 在 s [off, npos) 中查找 s2
2)find() 的變種
1、rfind() 具有 find() 的輸入形式,反序查找
2、find_first_of() 具有 find() 的輸入形式,返回第一個匹配的索引
3、find_last_of() 具有 find() 的輸入形式,返回倒數第一個匹配的索引
4、find_first_not_of() 具有 find() 的輸入形式,返回第一個不匹配的索引
5、find_last_not_of() 具有 find() 的輸入形式,返回倒數第一個不匹配的索引
3)replace() 替換
1、replace(off, cnt, s2) 將 s [off, off + cnt) 替換成 s2
2、replace(off, cnt, s2, off2, cnt2) 將 s [off, off + cnt) 替換成 s2 [off2, off2 + cnt2)
3、replace(off, cnt, p) 將 s [off, off + cnt) 替換成 [p, )
4、replace(off, cnt, p, cnt2) 將 s [off, off + cnt) 替換成 [p, p + cnt2)
5、replace(off, cnt, n, c) 將 s [off, off + cnt) 替換成 c * n
使用迭代器的情況:
6、replace(InF, InL, s2) 將 [InF, InL) 替換成 s2
7、replace(InF, InL, p) 將 [InF, InL) 替換成 [p, )
8、replace(InF, InL, p, cnt) 將 [InF, InL) 替換成 [p, p + cnt)
9、replace(InF, InL, n, c) 將 [InF, InL) 替換成 n * c
10、replace(InF, InL, InF2, InL2) 將 [InF, InL) 替換成 [InF2, InL2)
4)erase() 刪除
1、erase(off, cnt) 從字元串 s 中刪除 s [off, off + cnt)
2、erase(iter) 從字元串 s 中刪除 *iter
3、erase(ItF, ItL) 從字元串 s 中刪除 [ItF, ItL)
八、取出字元串
1)取得 C 風格字元串
c_str() 返回常量類型的 C 風格字元串指針,(ptr, cnt, off = 0) 則將指定大小的字元串復制到特定指針。data() 在 Visual C++ 7.1 中僅僅調用了 c_str() 實現。
2)取得子字元串
substr(off, cnt) 取得 s [off, off + cnt) 的副本。
3)復制子字元串
(p, off, cnt) 將 s [off, off + cnt) 復制到 p。

九、字元串的緩沖區管理
字元串具有類似 std::vector 的緩沖區管理界面。
size() 取得有效元素長度
max_size() 取得當前內存分配器能分配的有效空間
reserve() 為緩沖區預留空間
capacity() 取得緩沖區的容量
resize() 重設串的長度,可以為其指定初始化值
十、定義輸入迭代器的尾端
向 istream_iterator 傳遞輸入流對象以創建輸入迭代器,輸入迭代器持有輸入流對象的指針,默認創建和讀取流失敗的情況下該指針被設置為 0。並且在實現輸入迭代器間的 operator == 相等運算時,進行持有的流對象指針的相等比較,這樣,默認創建的輸入迭代器將被用於匹配輸入流的結束。
* 當輸入流讀取失敗,用戶執行 if, while 條件判斷時,實際上先將判斷值轉換成 void* 類型,或者根據 operator ! 運算符的返回結果,對輸入流重載 operator void* 和 operator ! 運算符,可以定義輸入流在布爾表達式中的行為,使得當流讀取失敗的情況下,輸入迭代器可以通過布爾表達式來確認,而不是顯式訪問 fail() 成員函數.

⑺ C語言中什麼是字元,什麼是字元串啊,謝謝

C語言中單引號的是字元,雙引號的是字元串。

1、字元指類字形單位或符號,包括字母、數字、運算符號、標點符號和其他符號,以及一些功能性符號。字元在計算機內存放,應規定相應的代表字元的二進制代碼。代碼的選用要與有關外圍設備的規格取得一致。

2、字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的。

它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。

(7)c語言字元串用法擴展閱讀

C語言字元串的使用

用來存放字元的數組稱為字元數組,例如:

charc[10];

字元數組也可以是二維或多維數組。例如:

charc[5][10];

字元數組也允許在定義時進行初始化,例如:

charc[10]={'c','','p','r','o','g','r','a','m'};//c[9]未賦值,所以為默認值』』

當對全體元素賦初值時也可以省去長度說明。例如:

charc[]={'c','','p','r','o','g','r','a','m'};

這時c數組的長度自動定為9。

字元數組和普通數組一樣,也是通過下標引用各個元素。

⑻ c語言如何表示字元串

c語言中沒有字元串,只有字元數組用char
s[length]來表示。length表示你所要的字元串有多少個字元。這和c++中string是有區別的,c++中string是可以直接賦值如string
s;s="hello
world";但是c語言中的字元數組區不能這樣。詳細的c++字元串可在http://www.newsmth.net/pc/pccon.php?id=10002714&nid=359771查看。
c語言中字元串賦值方法strcpy(char*d,char*s)其中s代表是源字元串,d代表目標字元串,也就是你要賦值的字元串。希望對你有幫助。記得加點分

⑼ c語言中string怎麼用啊

用於輸入輸出的字元串函數, 在使用前應包含頭文件"stdio.h" ; 使用其它字元串函數則應包含頭文件"string.h"。

⑽ c語言定義字元串

定義字元串的方法如下:

#include <stdio.h>

#include <stdlib.h>

int main()

{

//定義字元串的幾種方式

//字元串和字元數組的區別:最後一位是否是空字元

char names1[] = {'j', 'a', 'c', 'k', ''};

char names2[50] = "jack";

char * names3 = "jack";

printf("數組所佔空間大小:%d ", sizeof(names1));

printf("數組所佔空間大小:%d ", sizeof(names2));

//動態輸入

printf("請輸入新名稱: ");

scanf("%s", names2);

printf("%s ", names2);

return 0;

}


(10)c語言字元串用法擴展閱讀

字元串函數的應用

①連接運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn.

例:concat(『11』,'aa』)='11aa』;

②求子串。

Copy(s,I,I) 從字元串s中截取第I個字元開始後的長度為l的子串。

例:(『abdag』,2,3)=』bda』

③刪除子串。

過程 Delete(s,I,l) 從字元串s中刪除第I個字元開始後的長度為l的子串。

例:s:=』abcde』;delete(s,2,3);結果s:=』ae』

④插入子串。

過程Insert(s1,s2,I) 把s1插入到s2的第I個位置。

例:s:=abc;insert(『12』,s,2);結果s:=』a12bc』

熱點內容
安卓上哪裡下大型游戲 發布:2024-12-23 15:10:58 瀏覽:189
明日之後目前適用於什麼配置 發布:2024-12-23 14:56:09 瀏覽:56
php全形半形 發布:2024-12-23 14:55:17 瀏覽:829
手機上傳助手 發布:2024-12-23 14:55:14 瀏覽:733
什麼樣的主機配置吃雞開全效 發布:2024-12-23 14:55:13 瀏覽:830
安卓我的世界114版本有什麼 發布:2024-12-23 14:42:17 瀏覽:711
vbox源碼 發布:2024-12-23 14:41:32 瀏覽:279
詩經是怎麼存儲 發布:2024-12-23 14:41:29 瀏覽:661
屏蔽視頻廣告腳本 發布:2024-12-23 14:41:24 瀏覽:420
php解析pdf 發布:2024-12-23 14:40:01 瀏覽:819