PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 為什麼 getline() 不加 endl 就沒辦法印出
作者:
hunandy14
(Charlott.HonG)
2021-05-22 02:06:43
代碼在VS2019上執行是正常的,但是在gcc上卻出了奇怪的狀況
想請問為什麼這段代碼裡面的 cout 只要結尾沒有 endl 就沒辦法輸出了
https://replit.com/@hunandy14/svtest
網站可以直接執行,錯誤的情況跟我在電腦上跑的是一樣的
電腦上的gcc版本
gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
g++ -std=c++17 -o main main.cpp; ./main
作者:
oToToT
(å±å©)
2021-05-22 04:34:00
在 repl 上感覺是被 \r 坑了而已,它實際上是有印出來的喔喔,你電腦上也是 ubuntu ,那就是 \r 的問題吧你可以試試看 printf("2\r"); 你可能也不會看到它的輸出或者 printf("2\r1") 你可能只會看到一個 "1",因為 \r 把要印的 cursor 又移到最前面了,所以前面的 2 會被後面的輸出蓋掉,導致你沒看到它
作者:
Lipraxde
(Lipraxde)
2021-05-22 12:41:00
./main > out.txt,再把 out.txt 開起來看,你就知道是不是真的沒輸出了
作者:
LPH66
(-6.2598534e+18f)
2021-05-22 14:08:00
這樣說吧, 寫 C/C++ 只有很少的機會會寫出 \r如果只是單純要換行的話 \n 就夠用了會用 \r 的大概只有 (1) 螢幕顯示單行更新 (如單行進度條)(2) 處理的根本就是二進位資料單行更新原理就是前幾樓提的 \r 的作用: 移游標到這行開頭C++ 的 endl 其實只是印出 "\n" 後加 flush 而已
作者:
Lipraxde
(Lipraxde)
2021-05-22 19:50:00
dos2unix <- 好用
作者:
rex0707
(我就是我)
2021-05-29 19:11:00
推樓上 我以前也遇過從win複製文字檔到centos會有問題
繼續閱讀
[問題] C++ iter = map.earse(iter)的實作
worcdlo
[問題] buffer size
pilipalabon
[問題] MFC 出現暫存太小的問題
smvenjoy
[問題] C印出問題
ooww
Re: [問題] 為什麼互為2的補數的兩個數字,必定是相
a58524andy
Fw: [問題] 為什麼互為2的補數的兩個數字,必定是相
lueichun
[問題][QT] 如何解壓縮到自己程式的變數裡
liu2007
[問題] c語言 有關scanf不加取址符&
ZephyrusLin
Re: [問題] 一個讀取 uart 的 process
jimmytzeng
[問題] 2D 陣列之記憶體位址有移位情形
gowrite
Links
booklink
Contact Us: admin [ a t ] ucptt.com