반응형
C에서 긴 인쇄문을 여러 줄로 나눌 수 있는가?
나는 다음과 같은 진술이 있다.
printf("name: %s\targs: %s\tvalue %d\tarraysize %d\n", sp->name, sp->args, sp->value, sp->arraysize);
헤어지고 싶다.나는 다음 사항을 시도해 보았으나 효과가 없다.
printf("name: %s\t
args: %s\t
value %d\t
arraysize %d\n",
sp->name,
sp->args,
sp->value,
sp->arraysize);
어떻게 하면 헤어질 수 있을까?
문자열 리터럴을 여러 줄로 분할하려면 다음과 같이 각 줄에 하나씩 여러 문자열을 연결하십시오.
printf("name: %s\t"
"args: %s\t"
"value %d\t"
"arraysize %d\n",
sp->name,
sp->args,
sp->value,
sp->arraysize);
C 컴파일러는 인접한 문자열 리터럴을 다음과 같이 하나로 접착할 수 있다.
printf("foo: %s "
"bar: %d", foo, bar);
전처리기에서는 CR(또는 Windowsland에서 온 경우 CR/LF)을 계산하지 않고 라인의 마지막 문자로 백슬래시를 사용할 수 있다.
printf("foo %s \
bar: %d", foo, bar);
C에서 복잡한 기능을 분할하는 사실상의 표준 방법은 다음과 같은 논거에 따른다.
printf("name: %s\targs: %s\tvalue %d\tarraysize %d\n",
sp->name,
sp->args,
sp->value,
sp->arraysize);
또는 다음 작업을 수행할 경우:
const char format_str[] = "name: %s\targs: %s\tvalue %d\tarraysize %d\n";
...
printf(format_str,
sp->name,
sp->args,
sp->value,
sp->arraysize);
끈을 쪼개서는 안 되며, 또한 사용해서는 안 된다.\
C선을 돌파하기 위해서.그러한 코드는 금방 완전히 읽을 수 없게 되고 유지될 수 없게 된다.
나는 하나를 사용하지 않을 것 같다.printf
위에 표시된 문자열 리터럴을 인쇄하는 문장은 좋은 프로그래밍 관행이며, 그 대신 아래 코드 조각을 사용할 수 있다.
printf("name: %s\t",sp->name);
printf("args: %s\t",sp->args);
printf("value: %s\t",sp->value);
printf("arraysize: %s\t",sp->name);
다른 형식 지정 옵션:
printf("name: %s\targs: %s\tvalue %d\tarraysize %d\n",
a, b, c, d);
printf("name: %s\targs: %s\tvalue %d\tarraysize %d\n",
a, b, c, d);
printf("name: %s\t" "args: %s\t" "value %d\t" "arraysize %d\n",
very_long_name_a, very_long_name_b, very_long_name_c, very_long_name_d);
주제에 변형을 추가할 수 있다.라는 생각이다.printf()
변환 스피피저와 각 변수는 모두 "supply"로 정렬되어 있다(일부 "supply" 값인 경우).
반응형
'IT이야기' 카테고리의 다른 글
복잡한 개체에 대한 Vuex 모범 사례 (0) | 2022.05.09 |
---|---|
상위에서 VUE 구성 요소 데이터 입력 지우기 (0) | 2022.05.09 |
Java, "각각" 루프의 현재 인덱스/키를 가져오는 방법 (0) | 2022.05.08 |
VueJS - 문자열 내에서 문자열 보간 (0) | 2022.05.08 |
주니트와 함께 하는 인텔리제이 아이디어 4.7 "!!!JUnit 버전 3.8 이상 예상:" (0) | 2022.05.08 |