我无法理解 fprintf 的问题。也许您可以找到解决此问题的方法。
你看,当我调用 fprintf 时,它开始无限循环,没有充分的理由。我不知道这里发生了什么,所以也许你可以帮帮我。
String_int:
    db 91; "[" 
    db 37; "%"
    db 115;"i"
    db 93; "]" 
    db 0;  "end_string" 
w_IN_ASCII:
    db 119; "w" 
    db 0;  "end_string" 
<SOME CODE>
    mov rdi, FILE_LOCATION;
    mov rsi, w_IN_ASCII;
    call fopen;
    mov r15, rax;
    cmp r15, 0; (with this I can be sure it is not a NULL)
    je .endProgram;
    mov rdi, r15;
    mov rsi, String_int;
    mov rdx, TO_PRINT_LOCATION;
    call fprintf; this is where my code dies
    mov rdi, r15;
    call fclose;
.endProgram:
    ret