2014-11-12 3 views
-1

안녕하세요. 이진 파일에 행렬을 쓰는 프로그램을 만들어야하지만 작성된 모든 숫자 사이에 공백이 있어야합니다. 또한 첫 번째 fwrite는 줄과 열의 크기를 가져야합니다. 그래서 그 대신 같은 것을 만드는 :동일한 함수에서 두 가지 유형의 바이너리로 씁니다.

fwrite(&n, sizeof(int), 1, fw); 
fwrite(&space, sizeof(char), 1, fw); 
fwrite(&m, sizeof(int), 1, fw); 

또는

space = ' '; 
fwrite(&temp, sizeof(int), 1, fw); 
fwrite(&sapce, sizeof(char), 1, fw); 

내가 이런 일이 가능할 것이다 있는지 확인하고 싶었다.

fwrite("&n &m", 2*sizeof(int) + sizeof(char), 1, fw); 

fwrite("&n ", sizeof(int) + sizeof(char), 1, fw); 
+1

당신이 무엇이 잘못되었는지, 그것을 시도 할 때? –

+0

지난 번 내가 사용했던 오류가 없습니다. 나는 이전에 다르게 썼는지 모르지만, 방금 쓴 내용이 실제로 작동하는 것 같습니다. (나는이 문제를 쓰면서 생각했습니다.) 이상한 – Dom

+0

'sprintf()'또는'snprinf()'를 사용하여 원하는 형식으로 버퍼에 쓸 수 있습니다. 그런 다음'fwrite()'를 사용하여 전체 버퍼를 파일에 쓸 수 있습니다. – SSC

답변

0

는 당신이 시도 할 수 있습니다 :

char a[256]; 
    sprintf(a, "%d %d", n, m); 
    fwrite(a, strlen(a), 1, fw); 
관련 문제