📅  最后修改于: 2021-01-07 05:18:23             🧑  作者: Mango
字符串是一组包含空格的字符。我们可以说这是一维字符数组,以NULL字符(’\ 0’)终止。字符串也可以视为预定义的类,大多数编程语言(例如C,C++,Java,PHP,Erlang,Haskell,Lisp等)都支持该字符串。
下图显示了字符串“ Tutorial”在内存中的外观。
下面的程序是一个示例,显示了如何使用C++创建字符串,C++是一种面向对象的编程语言。
#include
using namespace std;
int main () {
char greeting[20] = {'H', 'o', 'l', 'i', 'd', 'a', 'y', '\0'};
cout << "Today is: ";
cout << greeting << endl;
return 0;
}
它将产生以下输出-
Today is: Holiday
以下程序是一个示例,显示了如何在Erlang(一种功能编程语言)中创建字符串。
-module(helloworld).
-export([start/0]).
start() ->
Str = "Today is: Holiday",
io:fwrite("~p~n",[Str]).
它将产生以下输出-
"Today is: Holiday"
不同的编程语言在字符串上支持不同的方法。下表显示了C++支持的一些预定义的字符串方法。
S.No. | Method & Description |
---|---|
1 |
Strcpy(s1,s2) It copies the string s2 into string s1 |
2 |
Strcat(s1,s2) It adds the string s2 at the end of s1 |
3 |
Strlen(s1) It provides the length of the string s1 |
4 |
Strcmp(s1,s2) It returns 0 when string s1 & s2 are same |
5 |
Strchr(s1,ch) It returns a pointer to the first occurrence of character ch in string s1 |
6 |
Strstr(s1,s2) It returns a pointer to the first occurrence of string s2 in string s1 |
以下程序显示了如何在C++中使用上述方法-
#include
#include
using namespace std;
int main () {
char str1[20] = "Today is ";
char str2[20] = "Monday";
char str3[20];
int len ;
strcpy( str3, str1); // copy str1 into str3
cout << "strcpy( str3, str1) : " << str3 << endl;
strcat( str1, str2); // concatenates str1 and str2
cout << "strcat( str1, str2): " << str1 << endl;
len = strlen(str1); // String length after concatenation
cout << "strlen(str1) : " << len << endl;
return 0;
}
它将产生以下输出-
strcpy(str3, str1) : Today is
strcat(str1, str2) : Today is Monday
strlen(str1) : 15
下表显示了Erlang支持的预定义字符串方法的列表。
S.No. | Method & Description |
---|---|
1 |
len(s1) Returns the number of characters in the given string. |
2 |
equal(s1,s2) It returns true when string s1 & s2 are equal else return false |
3 |
concat(s1,s2) It adds string s2 at the end of string s1 |
4 |
str(s1,ch) It returns index position of character ch in string s1 |
5 |
str (s1,s2) It returns index position of s2 in string s1 |
6 |
substr(s1,s2,num) This method returns the string s2 from the string s1 based on the starting position & number of characters from the starting position |
7 |
to_lower(s1) This method returns string in lower case |
以下程序显示了如何在Erlang中使用上述方法。
-module(helloworld).
-import(string,[concat/2]).
-export([start/0]).
start() ->
S1 = "Today is ",
S2 = "Monday",
S3 = concat(S1,S2),
io:fwrite("~p~n",[S3]).
它将产生以下输出-
"Today is Monday"