함수
| 코드
| 의미
| 사용
|
String
| String(val)
String(val, base)
| val: 객체를 반환한 값
base: value가 정수인 경우 진법
반환값: 없음
*String 클래스 생성자
*정수, 문자, 문자 배열, String 객체 등 다양한 종류의 데이터형으로부터 String 객체 생성
*정수가 val로 주어진 경우 진법 지정 가능
*base 값은 unsigned char형으로 default 값은 10
*각 진법에 대한 상수가 정의되어 있음
| String one= "Hello World"; // 문자 배열에 의한 생성
one = String(13, HEX); //정수형에 의한 초기화, 16진법
|
charAt
| char charAt(unsigned int index)
| index: 문자열에서 찾고 싶은 문자의 위치
반환값: 문자열에서 index 위치의 문자
*문자열 내에서 지정한 위치의 문자를 반환
*문자열의 위치는 첫 번째 문자의 index가 0붙너 시작됨/
*연산자 []와 같은 기능 수행
| String a = "ABCDEF";
String b = a.charAt(2); //a.charAt(2) = a[2]
|
compareTo
| int compareTo(const String &string2)
| string2: 비교 대상이 되는 문자열
반환값: 순서상으로 string2가 먼저 나오면 양의 값, 동일하면 0, 뒤에 나오면 음의 값을 반환
*두 개의 문자열을 동일한 위치에 있는 문자 단위로 비교하여 그 결과를 반환
*ASCII 코드 상에서는 숫자, 대문자, 소문자의 순서로 큰 값을 가짐
| String str1 = "ABC";
String str2 = "DEF";
Serial.println(+str1.compareTo(str2)); // -값이 나옴
|
concat
| unsigned char concat(const String &str)
unsigned char concat(int num)
| str: 이어 붙일 문자열
num: 이어 붙일 숫자. 문자열로 변환되어 붙임
반환값: 성공 시 true, 실패시 false 반환
*문자열 뒤에 인자로 주어진 문자열을 이어붙임
*연산자 '+'와 동일한 기능 수행
*이외에도 문자형, long 형 등 매개변수로 받는 여러함수들이 다중 정의 되어 있음
| String str1 = "ABC";
String str2 = "DEF";
str.concat(str2);
Serial.println(str1); //ABCDEF
|
endsWith
| unsigned char endsWith(const String &str)
| str: 비교 대상 문자열
반환값: 문자열이 str로 끝나는 경우 true, 아닌 경우 false를 반환
*문자열이 str에 주어진 문자열로 끝나는 지 검사.
*끝나면 true, 아니면 false
| String str1 = "ABC";
String str2 = "DABC";
if(str2.endsWith(str1)){} // 항상 true
|
equals
| unsigned char equals(const String &str)
| str: 비교 대상 문자열
반환값: 문자열이 str과 동일하면 true, 아니면 false
*문자열 str에 주어진 문자열과 동일한지 비교
*동일시 true, 아니면 false
*대문자, 소문자를 서로 다른 문자로 간주
| String str1 = "ABC";
String str2 = "abc";
if(str2.equals(str1)){} // 항상false
|
equalsIgnoreCase
| unsigned char equalsIgnoreCase(const String &str)
| str: 비교 대상 문자열
반환값: 문자열이 str과 동일하면 true, 아니면 false
*문자열 str에 주어진 문자열과 동일한지 비교
*동일시 true, 아니면 false
*대문자, 소문자를 서로 동일한문자로 간주
| String str1 = "ABC";
String str2 = "abc";
if(str2.equalsIgnoreCase(str1)){} // 항상 true
|
getBytes
| void getBytes(unsigned char *buf, unsigned int bufsize)
| buf: 문자들을 복사할 버퍼
bufsize: 버퍼의 크기
반환값: 없음
*String 객체의 문자들을 버퍼로 복사
*복사할 수 있는 최대 문자 개수는 배열에서 문자열로 종료 표시를 위한 공간을 제외한 bufsize - 1
| String message = "HELLO WORLD";
char bytes[message.length()];
message.getBytes( bytes, message.length() + 1); //문자들을 bytes로 복사
|
indexOf
| int indexOf(char ch)
int indexOf(char ch, unsigned int fromIndex)
int indexOf(const String &str)
int indexOf(const String &str, unsigned int fromIndex)
| ch: 탐색할 문자
str: 탐색할 문자열
fromIndex: 탐색을 시작할 위치
반환값: 검색 문자 또는 문자열이 처음 발견될 위치를 반환, 발견되지 않으면 -1을 반환
*문자열 내에서 주어진 문자나 문자열이 존재하는 지 검사
*첫 번째 발견된 위치를 반환
*존재하지 않을 시 -1 반환
*default: 문자열의 시작부터 검색
*fromIndex 설정하여 시작 위치 지정 가능
| String str = "ABCDEFG";
String searchStr = "AB";
int index = -1;
index = str.indexOf(searchStr, index+1);
|
lastIndexOf
| int lastIndexOf(char ch) const
int lastIndexOf(char ch, unsigned int fromIndex) const
int lastIndexOf(const String &str) const
int lastIndexOf(const String &str, unsigned int fromIndex) const
| ch: 탐색할 문자
str: 탐색할 문자열
fromIndex: 탐색을 시작할 위치
반환값: 검색 문자 또는 문자열이 처음 발견될 위치를 반환, 발견되지 않으면 -1을 반환
*문자열 내에서 주어진 문자나 문자열이 존재하는 지 검사
*indexOf와는 다르게 문자열의 끝부터 역방향으로 검색.
|
|
length
| unsigned int length(void)
| 매개변수:없음
반환값: 문자열의 길이
| String message = "HELLO WORLD";
char bytes[message.length()];
message.getBytes( bytes, message.length() + 1); //문자들을 bytes로 복사
|
replace
| void replace(char find, char replace)
void replace(const String &find, const String &replace)
| find: 찾을 문자열
replace: 바꿀 문자열
반환값: 없음
*find에 주어진 문자나 문자열을 찾아 replace에 주어진 문자나 문자열로 교체
| Sting one = normal; //문자열이 아님.
one.replace = ( 'o', '0');
one.replace = ( 'a', 'A');
|
setCharAt
| void setCharAt(unsigned int index, char ch)
| index: 바꿀 문자의 위치
ch: 바꿀 문자
반환값: 없음
*문자열에서 index로 주어지는 위치의 문자를 ch로 바꿈
*대입 연산자의 좌변에 놓이는 연산자 '[]'와 같은 기능 수행
|
|
startsWith
| unsigned char startsWith(const String &str)
| str: 비교 대상 문자열
반환값: 문자열이 str로 시작하는 경우 true , 아닌 경우 false를 반환
*문자열이 str에 주어진 문자열로 시작하는 지 검사
*str로 시작하면 true, 아니면 false
|
|
substring
| String substring(unsigned int from)
String substring(unsigned int from, unsigned int to)
| from: 추출할 부분 문자열의 시작 위치
to: 추출할 부분 문자열의 끝 위치
반환값: 추울한 부분 문자열을 반환
*문자열의 부분 문자열을 반환
*from에 지정된 위치의 문자는 포함
*to에 의해 지정된 문자는 포함되지 않는 점에 주의
*끝 위치가 지정되지 않은 경우 시작 위치에서 문자열의 끝까지 부분 문자열로 추출하여 반환
| String let = "0123456789"; //문자열 생성
String sub1, sub2;
sub1 = let.substring(0, 3); //"012"추출
sub2 = let.substring(7); //"789", 7부터 끝까지
|
toCharArray
| void toCharArray(char *buf, unsigned int bufize)
| buf: 문자들을 복사할 버퍼
bufsize: 버퍼의 크기
반환값: 없음
*String 객체의 문자들을 버퍼로 복사
*복사할 문자의 최대 문자의 개수는 bufsize - 1개
*getBytes 함수 ==> buf - unsigned char 형 포인터
*toCharArray 함수 ==> buf - char 형 포인터
|
|
toInt
| long toInt(void)
| 매개변수: 없음
반환값: 변환된 정숫값을 반환
*문자열을 정수로 변환하여 반환
*입력 문자는 반드시 숫자로 시작해야 함
*숫자로 변환이 불가능한 문자를 만나면 변환이 종료됨
*변환이 실패할 경우 0을 반환
| String str1 = "0123";
Searl.println(str1.toInt()); //123
|
toLowerCase
| void toLowerCase(void)
| 매개변수: 없음
반환값: 없음
*문자열 내에 포함된 대문자르 소문자로 바꿈
|
|
toUpperCase
| void toUpperCase(void)
| 매개변수: 없음
반환값: 없음
*문자열 내에 포함된소문자를 대문자로 바꿈
|
|
trim
| void trim(void)
| 매개변수: 없음
반환값: 없음
*문자열의 시작과 끝 부분에 포함된 공백 문자를 제거
*공백 문자 종류
[싱글 스페이스(ASCII 32), 탭(ASCII 9 ), 버티칼 탭(ASCII 11), 폼 피드(ASCII 12), 캐리지 리턴(ASCII 13), 뉴라인(ASCII 10) 등]
|
|
[]
| char operator [](unsigned int index)
| index: 문자열에서 찾고 싶은 문자의 위치
반환값: 문자열에서 index 위치의 문자
*문자열 내 문자 접근을 위한 연산자
| String str = "123456";
for(int = 0; str,length(); i++){
str[i] = str[i] + 'a' - '0'; //문자쓰기
}
|
+
| String & operator += (const String &rhs)
String & operator += (const char cstr)
String & operator += (char c)
String & operator += (unsigned char num)
String & operator += (int num)
String & operator += (unsigned int num)
String & operator += (long num)
String & operator += (unsigned long num)
| rhs, cstr, c, num: 연결할 문자, 문자열 또는 숫자
반환값: 문자열을 연결할 새로운 문자열
*문자열 연결 함수
*새로운 문자열 반환
*concat함수는 기존 문자열에 문자열 연결 - 기존 문자열을 변경
*연산자 '+'는 새로운 문자열 생성하여 반환
|
|
==
| unsigned char operator == (const String &rhs)
unsigned char operator == (const char cstr)
| rhs, cstr: 비교 문자열
반환값: 비교 문자열과 같으면 true, 다르면 false 반환
*두 문자열을 비교하여 동일하면 true, 다르면 false 반환
*대소문자를 구분함
*equals 함수와 동일한 기능 수행
|
|