반응형
C에서 긴 printf 문을 여러 줄로 나눌 수 있습니까?
다음 전시가 있습니다.
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);
다른 서식 옵션 :
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()
변환 speficiers와 각각의 변수가 모두 "멋지게"정렬 되어 것입니다 (일부 "nicely"값에 대해).
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);
반응형
'ProgramingTip' 카테고리의 다른 글
ArrayList에서 항목의 고급를 찾는 더 좋은 방법은 무엇입니까? (0) | 2020.10.11 |
---|---|
NoSuchFieldError : 클래스 Lcom / disdemo / R $ id에 유형 I의 정적 필드 listView1이 없습니다. (0) | 2020.10.11 |
창 크기에 따라 Qt 위젯을 늘리는 방법은 무엇입니까? (0) | 2020.10.07 |
HTML5에서로드시 무한 반복 재생 재생 (0) | 2020.10.07 |
$ index를 바인딩과 함께 사용하는 knockout.js (0) | 2020.10.07 |