Sidebar

Lisp

lisp
Lisp Amicchan 2 years ago 100%
[Common Lisp] How do I read a 32-bit integer from a binary (file) stream?

I can't figure out how to read multiple bytes. I'm trying to read a 32-bit integer so that I can store it to be used by a class. My (truncated) code: ``` (let ((version-buffer (byte 4 0))) (read-sequence version-buffer input-stream) (cond ((> version-buffer 10) (read-sequence minor-version-buffer input-stream)) (t t)) (setf (navigation-mesh-version temp-mesh) `(,(version-buffer)) ) ) ``` EDIT: Truncated the code further.

3
-1
lisp
Lisp Amicchan 2 years ago 100%
How do I insert control characters into a string with hex?

I'm trying to read a string and verify it's magic number (0xFEEDFACE); but I don't know how to insert an ascii character (as a number) into strings. Here is my code: ``` ;; Parser library for the Source Engine Nav mesh format. (defun parse-nav-string (input-string) "Parses string as Nav file." ;; Test for magic string 0xFEEDFACE. (cond (string= (subseq input-string 0 3) (concatenate (code-char #xCE) (code-char #xFA) (code-char #xED) (code-char #xFE)) ) (t (format *error-output* "Magic string not found!") ) ) () ) ```

2
0