홈>
n
매장
다음과 같이 이진수 형식의 이중 숫자 :
int main(int argc, char** argv)
{
int k = atof(argv[1]);
int fd = open("./gen-double.bin", O_CREAT | O_WRONLY | O_TRUNC, 0666);
for(double i = 1.0; i < k; i *= 1.333)
{
write(fd, &i, sizeof(double));
}
return 0;
}
write
를 사용하여 출력 할 수 있는지 궁금합니다.
기능:
펑키 한 캐릭터를 제공하는 다음 코드를 시도했습니다.
int main(int argc, char** argv)
{
int fd = open("./gen-double.bin", O_RDONLY);
double i;
while(read(fd, &i, sizeof(double)))
{
write(STDOUT_FILENO, &i, sizeof(double));
printf("\n");
}
return 0;
}
이 숫자들을
char
로 변환해야합니까?
?
완료
int main(int argc, char** argv)
{
int fd = open("./gen-double.bin", O_RDONLY);
double i;
int res;
char buffer[11];
while(read(fd, &i, sizeof(double)))
{
res = sprintf(buffer, "%.10f", i);
buffer[11] = '\0';
write(STDOUT_FILENO, buffer, 11);
printf("\n");
}
return 0;
}
- 답변 # 1
관련 자료
- python - csv 형식으로 파일을 내보내는 동안 "index"를 사용하여 행 이름 쓰기
- php - GD를 사용하여 이미지에 텍스트 쓰기가 작동하지 않습니다
- ruby - rspec을 사용하여 each 반복 블록 내부에있는 stdout을 테스트하는 방법은 무엇입니까?
- postgresql - EXCEPT 집합 연산자를 사용할 때 Postgres SELECT FOR UPDATE를 작성하는 방법은 무엇입니까?
- worksheet function - 다른 셀에 입력 된 수학 기호를 사용하여 수식을 작성하려면 어떻게해야합니까? Evaluate를 사용하는 방법?
- rust - 기능적 스타일에서 느리게 평가 된 이중 for 루프를 어떻게 작성합니까?
- go - stdout 스레드에 대한 동시 쓰기가 있습니까?
- python - smart_open을 사용하여 s3에서 읽고 쓸 때 ConnectionResetError가 발생하는 이유는 무엇입니까?
- list - csv를 사용하여 파이썬으로 연락처 쓰기
관련 질문
- c++ : Autotools 라이브러리용 libfuzzer 생성
- c : 공유 개체 파일을 열 수 없습니다: 해당 파일 또는 디렉터리가 없습니다 | 사용자 공간 프로그램에 libbpf 포함
- c : LD_PRELOAD에 의해 로드된 시스템 함수에 대해 중첩 호출을 수행할 수 있습니까?
- syscall(SYS_gettid)을 차단할 수 있습니까?
- c : 다른 인터페이스에서 동일한 Linux 시스템의 멀티캐스트 보내기 및 받기
- c : Segfault는 원인이 된 줄보다 먼저 발생합니다. [중복]
- TUN 인터페이스를 생성하는 내 code를 실행하고 내 code에서 TCP 수신 포트를 시뮬레이션합니다. 따라서 수신된 SYN 패킷은 code에서 SYN+ACK로 응답했습니다.
- 분기된 프로세스에서 bind()된 소켓을 connect()'하는 것은 부모의 소켓에 어떤 영향을 줍니까?
- C에서 생성된 TUN 인터페이스가 ifconfig 출력에 표시되지 않음
- c : 데몬 프로세스에서 유형이 끝날 때까지 계산하기 위해 while 루프를 넣을 위치입니다. 데몬 프로세스는 백그라운드에서 계속 실행되어야 하며 파일에 로그인해야 합니다.
더블의 이진 인코딩을 STDOUT에 쓰는 것 같습니다.
printf
(보통 사용하는) 바이너리 바이너리를 STDOUT으로 보내기 전에 텍스트로 디코딩합니다.예 : 1.0은 메모리에 3ff0 0000 0000 0000 (이것 참조)으로 인코딩됩니다.
텍스트 1.0은 문자 '1', '.' 0x31, 0x2E, 0x30 (여기부터)으로 인코딩 된 '0'입니다.