반응형
printf의 일부 텍스트를 녹색과 빨간색으로 표시
리눅스 gcc 4.4.1
저는 다음과 같은 fprintf 문을 가지고 있으며 OK는 녹색, FAIL은 빨간색으로 하고 싶습니다.이것이 가능합니까?
if(devh == -1)
{
fprintf(stderr, "Device [ FAILED ]\n");
}
else
{
fprintf(stderr, "Device [ OK ]\n");
}
제안해 주셔서 감사합니다.
저는 터미널 출력에 색상을 추가하기 위해 다음 매크로를 사용합니다.
#define RESET "\033[0m"
#define BLACK "\033[30m" /* Black */
#define RED "\033[31m" /* Red */
#define GREEN "\033[32m" /* Green */
#define YELLOW "\033[33m" /* Yellow */
#define BLUE "\033[34m" /* Blue */
#define MAGENTA "\033[35m" /* Magenta */
#define CYAN "\033[36m" /* Cyan */
#define WHITE "\033[37m" /* White */
#define BOLDBLACK "\033[1m\033[30m" /* Bold Black */
#define BOLDRED "\033[1m\033[31m" /* Bold Red */
#define BOLDGREEN "\033[1m\033[32m" /* Bold Green */
#define BOLDYELLOW "\033[1m\033[33m" /* Bold Yellow */
#define BOLDBLUE "\033[1m\033[34m" /* Bold Blue */
#define BOLDMAGENTA "\033[1m\033[35m" /* Bold Magenta */
#define BOLDCYAN "\033[1m\033[36m" /* Bold Cyan */
#define BOLDWHITE "\033[1m\033[37m" /* Bold White */
...그리고 다음과 같이 사용합니다.
printf( GREEN "Here is some text\n" RESET );
그리고 당신의 예를 들어보면,
if(devh == -1)
{
fprintf(stderr, "Device [ " RED "FAILED" RESET " ]\n");
}
else
{
fprintf(stderr, "Device [ " GREEN "OK" RESET " ]\n");
}
아마도 단말기를 처리하려면 ncurs와 같은 라이브러리를 사용해야 할 것입니다.
또는 Linux에서 다음과 같은 일부 콘솔 이스케이프 시퀀스를 사용할 수 있습니다.
printf ("\033[32;1m OK \033[0m\n");
(이 경우 32는 녹색을 나타냄), 그러나 휴대용이거나 우아하지 않습니다.
언급URL : https://stackoverflow.com/questions/1961209/making-some-text-in-printf-appear-in-green-and-red
반응형
'IT' 카테고리의 다른 글
비주얼 스튜디오 코드 컴파일러/디버거를 GCC로 설정하려면 어떻게 해야 합니까? (0) | 2023.06.12 |
---|---|
판다 데이터 프레임에서 모든 0이 있는 행 삭제 (0) | 2023.06.12 |
VBA를 사용하여 Excel에서 용해/재형성? (0) | 2023.06.12 |
Oracle REPLACE() 함수가 캐리지 리턴 및 라인 피드를 처리하지 않습니다. (0) | 2023.06.12 |
iOS 6의 레이블 정렬 - UI 텍스트 정렬 사용 안 함 (0) | 2023.06.12 |