cpp에 오류를 추가하여 내 소스 코드에 누가 그 문자열 크기를 변경하는지 알려주려고합니다. 너무 작아서 데이터를 처리 할 수 없습니다. . 어떻게하면 전처리 기와의 비교를위한 문자열의 크기를 얻을 수 있습니까?
는 내가#if STRING_LENGTH < MAX_STRING_LENGTH
#error "you need to extend the value of MAX_STRING_LENGTH"
#endif
같은 것을 가지고 코드의 연속적인 부분에서 원하는
#define STRING "Hello world"
같은가 someting가 있다고 가정 그래서하는 질문 : 어떻게 STRING_LENGTH
를 정의 할 수 있습니다?
답변이 나왔기 때문에 질문을 닫아야합니다. [here] (http://stackoverflow.com/q/5022067/strlen-in-the-c-preprocessor). 전처리 기는 아니지만 컴파일시에 여전히 해결 된 sizeof()를 사용하십시오. –
알다시피, sizeof는 cpp 조건문에서 사용할 수 없습니다. –
@Ottavio_Campana 당신이 [오른쪽] (http://stackoverflow.com/questions/4079243/how-can-i-use-sizeof-in-a-preprocessor-macro) –