sprintf
파이썬에서 C 스타일 기능을 사용하여 텍스트 파일에 버퍼를 작성하고 처리하고 많은 처리를 수행하는 문자열 버퍼를 만들고 싶습니다 . 조건문 때문에 파일에 직접 쓸 수 없습니다.
예 : 의사 코드 :
sprintf(buf,"A = %d\n , B= %s\n",A,B)
/* some processing */
sprint(buf,"C=%d\n",c)
....
...
fprintf(file,buf)
따라서 출력 파일에는 다음과 같은 종류의 o / p가 있습니다.
A= foo B= bar
C= ded
etc...
내 질문을 명확히하기 위해 편집 :
buf
큰 버퍼는 sprintf를 사용하여 서식이 지정된 모든 문자열을 포함합니다. 예를 들어, buf
이전 값이 아닌 현재 값만 포함합니다. 예를 들어 나중에 buf
쓴 첫 번째 내용 은 동일하게 추가 되었지만 Python 답변 에는 마지막 값만 포함되어 있습니다. 필자는 아닙니다 . 처음부터와 같이 시작한 모든 것을 갖고 싶습니다 .A= something ,B= something
C= something
buf
buf
buf
printf
C
def sprintf(buf, fmt, *args): ...
buf
끝 부분이 아닌 시작 부분에 내용을 씁니다 .) 문자열 배열을 사용하고 파일에 쓰기 전에 함께 결합하는 것이 가장 좋습니다.