2014-12-11 2 views
0

SD 카드에서 읽고 블루투스를 통해 정보를 보내는 시스템을 설계하고 있습니다. C - 가변 크기로 스트림 배열 바이트로 인쇄

는 SD 카드에서, 첫째로 나는 준비가 데이터를 그렇게하고 고정 된 길이의 배열 바이트에 바이트를 저장하려면 :

char final_name[17]; 

그리고 블루투스를 통해 보낼 수있는, 내가 스트림으로 블루투스를 정의 여기

fprintf(BLUETOOTH, final_name); 

문제 :, 나는 데이터를 전송의 printf를 호출하고있어이 기능이 함께 작동하도록 설계되었다

:

int fprintf(FILE *stream, const char *format, …); 

은 그래서 이것은 완벽하게 작동 만 8 바이트가 전송됩니다

fprintf(BLUETOOTH, "name.txt"); 

하지만 가변 크기의 바이트 배열을 보내야합니다. fprintf와 비슷한 기능을 찾고 있었지만 인쇄 할 바이트의 길이를 지정할 수는 있지만 찾을 수는 없습니다.

은 누구에게 witha의 형식 simiar 알고 있습니까 :

INT fprintf와 (파일 * 스트림, 문자 * 형식 INT의 아이폰에를);

+0

sprintf()를 사용하여 출력을 문자열로 포맷 한 다음 간단한 포맷 된 문자열을 보내기 루틴으로 보냅니다. – JohnH

+1

'fprintf'는 유효한 길이의 종료 문자열이라고 가정하고 임의의 길이 문자열을 보낼 수 있습니다. 당신이 어딘가에 혼란스러워하는 것 같습니다. 요구 사항에 대해 더 자세히 설명해 주시겠습니까? –

+0

최종 이름이 null로 끝났으며 다른 0을 포함하고 있지 않습니까? –

답변

1

fwrite을 사용하면 문자열뿐만 아니라 지정된 길이의 임의의 데이터를 파일 (또는 장치 파일)에 쓸 수 있습니다.

+0

내가 인터넷에서 추천하는 기능을 찾았는데 정확히 무엇을 찾고 있었습니까? http://www.cplusplus.com/reference/cstdio/fwrite/ 문제는 내가 PIC를 프로그래밍하고 있으며 어떤 이유로 , fwrite()는 내 CCS의 에 나타나지 않습니다. 어쨌든 고마워. 유진. –