字串的輸出和字串函式的使用

2021-10-10 18:03:10 字數 1737 閱讀 7234

學會這道題你基本就會字串的輸出和字串函式的使用了。

洛谷題p5734

題目要求:

你需要開發一款文字處理軟體。最開始時輸入乙個字串(不超過 100 個字元)作為初始文件。可以認為文件開頭是第 0 個字元。需要支援以下操作:

1 str:後接插入,在文件後面插入字串 str,並輸出文件的字串。

2 a b:擷取文件部分,只保留文件中從第 a 個字元起 b 個字元,並輸出文件的字串。

3 a str:插入片段,在文件中第 a 個字元前面插入字串 str,並輸出文件的字串。

4.查詢子串,查詢字串 str 在文件中最先的位置並輸出;如果找不到輸出 -1。

為了簡化問題,規定初始的文件和每次操作中的 str 都不含有空格或換行。

輸入:3

ilove

1 luogu

2 5 5

3 3 gugugu

輸出:iloveluogu

luogu

luogugugugu

#define crt secure no warnings

#include

#include

intmain()

else

if(x ==2)

else

if(x ==3)

else

else}}

return0;

}

注意:在使用下列函式之前必須有標頭檔案

#include

要求一:連線兩個字串需要用

strcat(string catenate)將兩個字串連線

例如:

char str1[

100]=;

char str2=

;strcat

(str1,str2)

;//注意str1一定要比str2大

要求二:擷取文件部分

strcpy(string copy)複製字元。或strncpy

輸入要分的字元即從a開始,b個位元組後結束。

即s[a + b] = 『\0』;

後從s[a]開始複製給in,

in後又複製給s對輸出結果無影響,只是為方便下乙個要求。

要求三:插入片段

還是呼叫函式strcat

注意s[a] = 『\0』;這個很重要,strcat函式插入會在/0後插入

如果不寫這行**則會出現下面的情況

iamstudent

32 you

iamstudentyoumstudent

要求四:查詢字元

strstr函式

char *strstr(const char *haystack, const char *needle)

左邊引數為字串,右邊引數為要查詢的值。

其他字串函式

1.int memcmp(const void *str1, const void *str2, size_t n))

比較str1和str2前n位元組的字元

同型別的還有

int strcmp(const char *str1, const char *str2)

比較str1和str2。

該函式比較的是大小即為(ab, 返回1;

memcmp(a, b):-1 // a2.strlen函式,計算長度

字串和字串函式

字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...

字串和字串函式

1.字串字面量 字串常量 用雙引號括起來的內容稱為字串字面量,也叫字串常量。字串常量屬於靜態儲存類別,這說明如果在函式中使用字串常量,該字串只會被儲存一次,在整個程式的生命期內存在,計時函式被呼叫多次。用雙引號括起來的內容被視為指向該字串儲存位置的指標。hello 中的 hello 類似於乙個陣列名...

常用的字串輸出函式

字串擷取函式 substr 和mb substr 一般情況下都選擇用前者,只有在處理中文字串時才會用到後者 str abcdefg str1 substr str,0,7 str2 substr 中國人 0,7 echo str1.此處輸出不全,因為乙個漢字占用多個位元組 echo str2.用字串...