รับมาตรฐานC99 (เช่นร่างN1256 ) กฎขึ้นอยู่กับชนิดของฟังก์ชัน: fprintf (printf, sprintf, ... ) หรือ scanf
นี่คือส่วนที่เกี่ยวข้องสกัด:
คำนำ
ฉบับที่สองนี้ยกเลิกและแทนที่ฉบับที่หนึ่ง ISO / IEC 9899: 1990 ซึ่งแก้ไขและแก้ไขโดย ISO / IEC 9899 / COR1: 1994, ISO / IEC 9899 / AMD1: 1995 และ ISO / IEC 9899 / COR2: 1996 การเปลี่ยนแปลงที่สำคัญจากรุ่นก่อนหน้ารวมถึง:
%lf
ตัวระบุการแปลงที่ได้รับอนุญาตใน printf
7.19.6.1 fprintf
ฟังก์ชั่น
7ตัวดัดแปลงความยาวและความหมายคือ:
l (ell) ระบุว่า (... ) ไม่มีผลต่อตัวระบุการแปลง a, A, e, E, f, F, g หรือ G
Lระบุว่าตัวระบุการแปลง a, A, e, E, f, F, g หรือ G ใช้กับอาร์กิวเมนต์คู่ยาว
กฎเดียวกันที่ระบุไว้สำหรับfprintf
นำไปใช้สำหรับprintf
, sprintf
และฟังก์ชั่นที่คล้ายกัน
7.19.6.2 fscanf
ฟังก์ชั่น
11ตัวดัดแปลงความยาวและความหมายคือ:
l (ell) ระบุว่า (... ) ที่ตัวระบุการแปลง a, A, e, E, f, F, g หรือ G ต่อไปนี้ใช้กับอาร์กิวเมนต์ที่มีชนิดตัวชี้เป็นสองเท่า
Lระบุว่าตัวระบุการแปลง a, A, e, E, f, F, g หรือ G ใช้กับอาร์กิวเมนต์ที่มีตัวชี้ประเภทเป็นสองเท่าแบบยาว
12ตัวระบุการแปลงและความหมายคือ: a, e, f, g ตรงกับหมายเลขจุดลอยตัวที่ลงนามเลือก (... )
14ตัวระบุการแปลง A, E, F, G และ X ก็ใช้ได้เช่นกัน, ตามลำดับ, a, e, f, g และ x
เรื่องสั้นที่สั้นสำหรับfprintf
ตัวระบุต่อไปนี้และประเภทที่เกี่ยวข้องมีการระบุไว้:
%f
-> สองเท่า
%Lf
-> ยาวเป็นสองเท่า
และfscanf
มันคือ:
%f
-> ลอย
%lf
-> สองเท่า
%Lf
-> ยาวเป็นสองเท่า
"%lf"
จะไม่ได้กำหนด; ใน C99 และ C11"%f"
ห้องสมุดมันถูกกำหนดให้เป็นเช่นเดียวกับ