คำถามติดแท็ก printf

"printf" เป็นฟังก์ชันทั่วไปสำหรับเอาต์พุตที่จัดรูปแบบ C และภาษาอื่น ๆ อีกมากมายมีฟังก์ชันที่เกี่ยวข้องทั้งหมด ใช้แท็กนี้เฉพาะในกรณีที่คำถามเกี่ยวข้องโดยตรงกับ "printf" หรือฟังก์ชันที่เกี่ยวข้อง

3
การจัดรูปแบบ printf () สำหรับฐานสิบหก
นี่เป็นคำถามที่น่าสนใจมากกว่าคำถามสำคัญ แต่ทำไมเมื่อพิมพ์เลขฐานสิบหกเป็นตัวเลข 8 หลักพร้อมเลขศูนย์นำหน้าสิ่งนี้จะ%#08Xไม่แสดงผลลัพธ์เดียวกัน0x%08Xหรือไม่ เมื่อฉันพยายามใช้อดีต 088ธงการจัดรูปแบบจะถูกลบออกและมันไม่ได้ทำงานที่มีเพียง อีกครั้งฉันแค่อยากรู้
191 c  printf  hex 

24
เหตุใดจึงต้องใช้ฟังก์ชั่น sprintf ใน PHP
ฉันพยายามเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชั่น PHP sprintf () แต่ php.net ไม่ได้ช่วยฉันมากเท่าที่ฉันยังสับสนอยู่ทำไมคุณต้องการใช้มัน ลองดูตัวอย่างของฉันด้านล่าง ทำไมต้องใช้สิ่งนี้: $output = sprintf("Here is the result: %s for this date %s", $result, $date); เมื่อทำสิ่งนี้จะเหมือนกันและง่ายกว่าในการเขียน IMO: $output = 'Here is the result: ' .$result. ' for this date ' .$date; ฉันทำอะไรบางอย่างหายไปหรือเปล่า
188 php  printf 

3
PHP sprintf กำลังหลบหนี
ฉันต้องการผลลัพธ์ต่อไปนี้: - กำลังจะหัก 50% ของ€ 27.59 จากบัญชีเติมเงินของคุณ เมื่อฉันทำอะไรเช่นนี้: - $variablesArray[0] = '€'; $variablesArray[1] = 27.59; $stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.'; echo vsprintf($stringWithVariables, $variablesArray); แต่มันทำให้ฉันมีข้อผิดพลาดนี้vsprintf() [function.vsprintf]: Too few arguments in ...เพราะมันพิจารณา%ใน50%ยังสำหรับการทดแทน ฉันจะหนีมันได้อย่างไร
184 php  escaping  printf 


10
อะไรคือความแตกต่างระหว่าง printf () และ put () ใน C?
ฉันรู้ว่าคุณสามารถพิมพ์ด้วยและprintf() puts()ฉันยังสามารถเห็นว่าprintf()ช่วยให้คุณสามารถแก้ไขตัวแปรและทำการจัดรูปแบบได้ เป็นเพียงรุ่นดั้งเดิมputs() printf()มันควรจะใช้สำหรับทุก ๆ ที่เป็นไปได้printf()หรือไม่
176 c  string  output  printf  puts 

7
printf with std :: string?
ความเข้าใจของฉันคือว่าstringเป็นสมาชิกของstdnamespace ดังนั้นทำไมต่อไปนี้เกิดขึ้น #include <iostream> int main() { using namespace std; string myString = "Press ENTER to quit program!"; cout << "Come up and C++ me some time." << endl; printf("Follow this command: %s", myString); cin.get(); return 0; } แต่ละครั้งที่โปรแกรมทำงานmyStringพิมพ์สตริงสุ่มที่ดูเหมือนว่า 3 ตัวอักษรเช่นในเอาต์พุตด้านบน
157 c++  string  namespaces  printf  std 

3
Java: เครื่องหมายเปอร์เซ็นต์ตามตัวอักษรในคำสั่ง printf
ฉันกำลังพยายามเพิ่มเครื่องหมายเปอร์เซ็นต์จริงในคำสั่ง printf ใน Java และฉันได้รับข้อผิดพลาด: lab1.java:166: illegal escape character System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence); ^ lab1.java:166: illegal escape character System.out.printf("%s\t%s\t%1.2f\%\t%1.2f\%\n",ID,pattern,support,confidence); ^ 2 errors ฉันคิดไม่ออกว่าจะใส่เครื่องหมายเปอร์เซ็นต์จริงลงใน printf ของฉันได้อย่างไร? ฉันคิดว่าการใช้ \% เพื่อหลีกเลี่ยงมันจะได้ผล แต่ก็ไม่เป็นเช่นนั้น ความคิดใด ๆ ?
141 java  printf  escaping 

11
คุณอนุญาตให้เว้นวรรคโดยใช้ scanf ได้อย่างไร
ใช้รหัสต่อไปนี้: char *name = malloc(sizeof(char) + 256); printf("What is your name? "); scanf("%s", name); printf("Hello %s. Nice to meet you.\n", name); ผู้ใช้สามารถใส่ชื่อของพวกเขา แต่เมื่อพวกเขาใส่ชื่อที่มีพื้นที่เหมือนLucas Aardvark, เพียงแค่ตัดทุกอย่างหลังจากscanf() Lucasฉันจะscanf()อนุญาตช่องว่างได้อย่างไร
129 c  string  printf  scanf  whitespace 

3
เอาต์พุตโปรแกรมด้านล่าง 'C89' เมื่อรวบรวมในโหมด C89 และ `C99` เมื่อรวบรวมในโหมด C99 อย่างไร
ฉันพบโปรแกรม C นี้จากเว็บ: #include <stdio.h> int main(){ printf("C%d\n",(int)(90-(-4.5//**/ -4.5))); return 0; } สิ่งที่น่าสนใจของโปรแกรมนี้คือเมื่อคอมไพล์และรันในโหมด C89 มันจะพิมพ์C89และเมื่อคอมไพล์และรันในโหมด C99 มันจะพิมพ์C99ออกมา แต่ฉันไม่สามารถคิดออกว่าโปรแกรมนี้ทำงานอย่างไร คุณช่วยอธิบายว่าอาร์กิวเมนต์ที่สองของprintfงานในโปรแกรมข้างต้นได้อย่างไร
128 c  printf  comments  c99  c89 

8
มีวิธีระบุจำนวนอักขระของสตริงที่จะพิมพ์โดยใช้ printf () หรือไม่?
มีวิธีระบุจำนวนอักขระของสตริงที่จะพิมพ์ออกมา (คล้ายกับตำแหน่งทศนิยมในints) หรือไม่? printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars"); ต้องการให้พิมพ์: Here are the first 8 chars: A string
127 c++  c  printf 


6
ฉันจะพิมพ์ไปที่ stderr ใน C ได้อย่างไร?
ใน C, การพิมพ์ที่ stdout เป็นเรื่องง่ายด้วยจากprintfstdio.h อย่างไรก็ตามสามารถพิมพ์ไปยัง stderr ได้อย่างไร? เราสามารถใช้fprintfเพื่อให้บรรลุได้อย่างชัดเจน แต่ไวยากรณ์ของมันดูแปลก ๆ บางทีเราอาจใช้printfพิมพ์ลง stderr?
121 c  printf  stderr 

4
แผ่นพิมพ์ด้านซ้ายที่มีช่องว่าง
ฉันจะวางสตริงที่มีช่องว่างทางด้านซ้ายเมื่อใช้ printf ได้อย่างไร ตัวอย่างเช่นฉันต้องการพิมพ์ "สวัสดี" โดยมีช่องว่าง 40 ช่องนำหน้า นอกจากนี้สตริงที่ฉันต้องการพิมพ์ประกอบด้วยหลายบรรทัด ฉันจำเป็นต้องพิมพ์แต่ละบรรทัดแยกกันหรือไม่? แก้ไข: เพื่อความชัดเจนฉันต้องการให้พิมพ์ 40 ช่องว่างก่อนทุกบรรทัด
114 c  formatting  printf 


13
การเว้นอักขระในพิมพ์ f
ฉันกำลังเขียนสคริปต์ bash เชลล์เพื่อแสดงว่ากระบวนการกำลังทำงานอยู่หรือไม่ จนถึงตอนนี้ฉันได้รับสิ่งนี้: printf "%-50s %s\n" $PROC_NAME [UP] รหัสให้ผลลัพธ์นี้แก่ฉัน: JBoss [DOWN] GlassFish [UP] verylongprocessname [UP] ฉันต้องการเว้นช่องว่างระหว่างสองฟิลด์ด้วย '-' หรือ '*' เพื่อให้อ่านง่ายขึ้น ฉันจะทำได้อย่างไรโดยไม่รบกวนการจัดตำแหน่งของฟิลด์ ผลลัพธ์ที่ฉันต้องการคือ: JBoss ------------------------------------------- [DOWN] GlassFish --------------------------------------- [UP] verylongprocessname ----------------------------- [UP]
108 bash  shell  printf 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.