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