字符數組的定義與初始化html
char s[10]; char s[5] = { 'J','a','v','a' };
使用標準輸入輸出流,能夠將字符串一次性輸入或輸出java
char a[60]; cin >> a; cout << a;
gets_s函數輸入一個字符串到字符數組s中。s是字符數組或指向字符數組的指針,其長度應該足夠大,以便能容納輸入的字符串。ios
gets_s()函數讀取到\n(咱們輸入的回車)因而中止讀取,可是它不會把\n包含到字符串裏面去。然而,和它配合使用的puts函數,卻在輸出字符串的時候自動換行。c++
puts函數輸出s字符串,遇到空字符結束,輸出完後在輸出一個換行('\n')。s是字符數組或指向字符數組的指針,返回值表示輸出字符的個數。數組
puts函數輸出的字符不包含空字符。函數
#include<iostream> using namespace std; int main() { char s[100]; gets_s(s); puts(s); system("pause"); return 0; }
#include<iostream> using namespace std; int main() { char s[100] = { 'j','a','v','a' }; char a[5] = { 'c','+','+' }; strcpy_s(s, a); //用a替換s,輸出爲c++ puts(s); system("pause"); return 0; }
strcpy函數,就象gets函數同樣,它沒有方法來保證有效的緩衝區尺寸,因此它只能假定緩衝足夠大來容納要拷貝的字符串。在程序運行時,這將致使不可預料的行爲。用strcpy_s就能夠避免這些不可預料的行爲。
這個函數用兩個參數、三個參數均可以,只要能夠保證緩衝區大小。
三個參數時:
errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);
兩個參數時:
errno_t strcpy_s(
char (&strDestination)[size],
const char *strSource
);指針
例子:
#include<iostream>
#include<string.h>
using namespace std;
void Test(void)
{
char *str1=NULL;
str1=new char[20];
char str[7];
strcpy_s(str1,20,"hello world");//三個參數
strcpy_s(str,"hello");//兩個參數但若是:char *str=new char[7];會出錯:提示不支持兩個參數code
#include<iostream> using namespace std; int main() { char s[100] = { 'j','a','v','a' }; char a[5] = { 'c','+','+' }; strncpy_s(s, a, 1); //用a的第一個元素替換s,輸出爲c puts(s); system("pause"); return 0; }
#include<iostream> using namespace std; int main() { char s[100] = { 'j','a','v','a' }; char a[5] = { 'c','+','+' }; strcat_s(s, a); //輸出爲javac++ puts(s); system("pause"); return 0; }
#include<iostream> using namespace std; int main() { char s[100] = { 'j','a','v','a' }; char a[5] = { 'c','+','+' }; strncat_s(s, a, 2); //將a的兩個元素接到s後面,輸出爲javac+ puts(s); system("pause"); return 0; }
int strcmp(char* s1, char* s2) htm
if (strcmp(str1, str2) == 0); //比較兩個字符串是否相等
int strcmp(char* s1, char* s2)
經過函數原型能夠看出
接收兩個參數,也是字符串首地址,
將s1和s2按字符的ASCII碼逐一進行大小比較
若s1>s2,則函數返回值爲正數
若s1=s2,則函數返回值爲0
若s1<s2,則函數返回值爲負數
值得一提的是:
"abc"比"abbc"大
"abc"比"abcd"小
#include<iostream> using namespace std; int main() { int n; n = strlen("Language"); cout << n << endl; //8 char str1[8] = "abc def"; cout << str1 << endl; //輸出abc def puts(str1); //輸出abc def cout<<strlen(str1); //輸出7 system("pause"); return 0; }
#include<iostream> using namespace std; int main() { float a, b; a = atof("123.1"); cout << a << endl; //123.1 b = atoi("123.1"); cout << b << endl; //123 system("pause"); return 0; }
atof 浮點型
atoi 整型
atoll / atol