2 진수를 갖는 첫 번째 열과 두 번째 열에 두 번째 열에 문자열 폭이있는 텍스트 파일 입력이 있습니다. 데이터 출력시 사용). 바이너리 입력을 읽은 후 비트 조작을 수행해야합니다.텍스트 입력 파일에서 0과 1을 읽고 비트 조작 (시프 팅)을 수행하려면 어떻게합니까?
아래 코드를 사용하여 입력 파일을 읽고 input
을 unsigned int
으로 선언했습니다.
while ((fscanf(fp,"%s %d", input, &count) != EOF))
비트 조작을 수행하려고 할 때 입력을 취한 후에 "유효하지 않은 피연산자가 2 진수로 표시됩니다"라는 오류 메시지가 표시됩니다. 그래서 어떤 선언을 잘못하고있는 중이거나 비트 조작을 수행하기 위해 이진수를 10 진수로 변환해야합니까? 조작 후 비트 시퀀스로 파일에 출력을 보내야합니다.
'이진 입력을 읽은 후에 비트 조작을 수행해야합니다. do so I. – wildplasser
텍스트 파일의 두 번째 열은 문자열이지만 정수로 읽는다고 가정합니다. 또한 텍스트 파일에서 이진수를 정수로 읽으려고해도 올바른 값을 얻을 수 없습니다. –
또한, 사용 된 변수 유형은'fscanf' 형식 지정자와 일치해야합니다. 따라서 "unsigned int"변수와 함께 "% s"를 사용하면 정의되지 않은 동작이 발생합니다. – SleuthEye