사용자 지정 문자열 서식#
소개#
VEX IQ(2세대)의 C++ 문자열 서식 지정은 printf스타일의 서식 지정자를 사용하여 변수, 표현식 또는 값을 포함하는 문자열을 생성합니다. 이 메서드는 %d, %f, %s등의 서식 지정자를 사용하여 문자열에 값을 삽입합니다.
숫자 서식 지정 — 문자열에 값과 수식을 삽입합니다.
%d— 정수 형식을 지정합니다.%.xf— 부동 소수점에 표시할 소수 자릿수를 설정합니다.%x— 숫자를 16진수로 포맷합니다.%c— 단일 문자를 포맷합니다.%s— C 스타일 문자열을 포맷합니다.
문자열 결합 — 텍스트와 값을 결합합니다.
strcat— C 스타일 문자열을 수동으로 연결합니다.
부분 문자열 확인 — 텍스트의 존재 여부 또는 위치를 확인합니다.
strstr— 문자열 내에서 부분 문자열을 찾습니다.
이스케이프 시퀀스 — 특수 문자를 사용하여 출력 형식을 지정합니다.
\n— 줄 바꿈(새 줄)을 추가합니다.
숫자 서식 지정#
C++는 형식 지정자를 사용하여 숫자 및 기타 데이터 유형이 문자열에 표시되는 방식을 제어합니다.
Integers#
%d 형식 지정자를 사용하여 정수 값을 형식화합니다.
%d
이 형식 지정자에는 매개변수가 없습니다.
Return Values정수 값을 문자열 내에서 정수 형식으로 변환합니다.
Examplesint count = 42;
// Display a single variable
Brain.Screen.print("Count: %d", count);
int x = 1;
int y = 5;
// Display multiple variables
Brain.Screen.print("Position: (%d, %d)", x, y);
// Display a calculation
Brain.Screen.print("Sum: %d", 5 + 3);
// Display the robot's battery capacity
Brain.Screen.print("Battery: %d%%", Brain.Battery.capacity());
Fixed Decimal Places#
%.xf 형식 지정자를 사용하여 부동 소수점 숫자의 소수점 자릿수를 제어합니다.
%.xf
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
표시할 소수점 자릿수입니다. |
지정된 소수점 자릿수로 부동 소수점 값을 포맷합니다.
Examples// Display pi with 2 decimal places
double pi = 3.1415926535;
Brain.Screen.print("Pi: %.2f", pi);
Hexadecimal#
%x (소문자) 또는 %X (대문자)를 사용하여 숫자를 16진수로 변환합니다.
1 — 숫자를 소문자 16진수로 변환합니다.
%x
Parameters2 — 숫자를 대문자 16진수로 변환합니다.
%X
이 형식 지정자에는 매개변수가 없습니다.
Return Values정수 값을 16진수 문자열로 변환합니다.
Examples// Convert 255 to hexadecimal
int number = 255;
// Display hexadecimals
Brain.Screen.print("Hex: %x", number);
Brain.Screen.print("Hex: 0x%X", number);
Characters#
%c 형식 지정자를 사용하여 개별 문자의 형식을 지정합니다.
%c
이 형식 지정자에는 매개변수가 없습니다.
Return Values문자 값을 단일 문자로 포맷합니다.
Exampleschar letter = 'A';
// Display a single character variable
Brain.Screen.print("Letter: %c", letter);
Strings#
%s 형식 지정자를 사용하여 C 스타일 문자열(문자 배열)의 형식을 지정합니다.
%s
이 형식 지정자에는 매개변수가 없습니다.
Return Values문자열 값을 텍스트 형식으로 지정합니다.
Exampleschar message[] = "IQ";
// Display a string variable
Brain.Screen.print("Hello, %s", message);
문자열 결합#
strcat 함수를 사용하여 두 문자열을 결합합니다.
char* strcat(char* string1, const char* string2);
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
추가할 문자열입니다. 새 텍스트를 넣을 공간이 있어야 합니다. |
|
|
추가하려는 문자열입니다. |
결과 문자열에 대한 포인터를 반환합니다(string1).
문자열에 추가할 문자를 위한 충분한 공간이 확보되어 있는지 확인하십시오. 공간이 부족한 문자열에 문자를 추가하면 다른 변수가 덮어쓰여 예기치 않은 동작이 발생할 수 있습니다.
// Make sure the variable has enough space
// for all characters (set it to 20)
char message[20] = "Hello,";
strcat(message, " IQ");
// Display the combined strings
Brain.Screen.print("%s", message);
부분 문자열 확인#
strstr 함수를 사용하여 다른 문자열에서 C 스타일 문자열이 처음 나타나는 위치에 대한 포인터를 반환합니다.
char* strstr(const char* str, const char* substring);
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
검색 중인 문자열을 가리키는 포인터입니다. |
|
|
검색할 문자열입니다. |
부분 문자열이 처음 나타나는 위치에 대한 포인터를 반환하거나, 문자열을 찾지 못한 경우 NULL 반환합니다.
char message[] = "Hey everyone!";
// Display if "Hey" is in the variable
if (strstr(message, "Hey") != NULL) {
Brain.Screen.print("Hello!");
}
탈출 시퀀스#
이스케이프 시퀀스는 문자열 내에서 텍스트 출력 형식을 지정하는 데 사용되는 특수 문자입니다.
New Line#
\n 이스케이프 시퀀스를 사용하여 인쇄 시 텍스트를 새 줄로 이동합니다.
\n
이 이스케이프 시퀀스에는 매개변수가 없습니다.
Return Values출력에 줄 바꿈 문자를 삽입합니다.
Notes이 기능은 콘솔에서만 작동합니다. 새 줄이 시작되기 전까지는 텍스트가 콘솔로 전송되지 않습니다.
// Display text on two lines
printf("First line\nSecond line\n");