当前位置: 首页 > 知识库问答 >
问题:

为什么%百分比出现在标准输出的输出末尾,而不是在使用endl时?[副本]

萧无尘
2023-03-14

为什么在这个输出的末尾有一个尾随的%?我尝试刷新流(而不是endl),但是当我调用endl结束流时,它会删除%。这里的任何帮助都将不胜感激。

template<class T>
void print_collection(T * t){
        for(int i = 0; i < t->size()-1; ++i){
                cout << t->at(i) << ", ";
        }
        std::cout<< t->at(t->size() -1);
        std::cout<<flush;
}

int main(){
        int n_A = 5;
        int A[] = {2, 3, -2, 34, -29};

        vector<int> vec(A, A + n_A);
        sort(vec.begin(), vec.end());

        print_collection(&vec);
        return 0;
}

OUTPUT
-29, -2, 2, 3, 34%  

下面是关于编译器的更多信息,我使用的是macOS 10.15.4:

g++ -Wall -std=c++11 array.cpp -o array

g++ Information:
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.3 (clang-1103.0.32.59)
Target: x86_64-apple-darwin19.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin  

共有1个答案

麻烨
2023-03-14

重复问题。谢谢@wbuck!

@Kevin声明:当程序的(非空)输出不包括尾随的换行符时,zsh添加颜色反转的%来表示,并在打印提示符之前移到下一行;它通常比Bash的行为更方便,只需在输出结束的地方启动命令提示符即可。

用C在终端的printf输出中获得一个奇怪的百分比符号

 类似资料:
  • 我是Java的初学者。学习罗伯特·塞奇威克的《Java导论》 我尝试在Netbeans中编译以下代码。 } 我收到了这个错误。我已将文件放置在标准位置。java 线程“main”java.lang.RuntimeException中的异常:无法编译的源代码-错误的sym类型:示例。StdIn.is在示例中为空。verage.main(verage.java:16)Java结果:1 BUILD SU

  • 回顾一下我们写的第一个 Rust 程序就是带副作用的,其副作用就是向标准输出(stdout),通常是终端或屏幕,输出了 Hello, World! 让屏幕上这几个字符的地方点亮起来。println! 宏是最常见的输出,用宏来做输出的还有 print!,两者都是向标准输出(stdout)输出,两者的区别也一眼就能看出。至于格式化输出,基础运算符和字符串格式化小节有详细说明,这里就不再啰嗦了。 更通用

  • 问题内容: 在Java类和对象中,我们使用“ this”关键字来引用类中的当前对象。从某种意义上说,我相信“ this”实际上返回了自身的对象。 例如: 在超类和子类的情况下。我以为“ super”关键字将返回超类的对象。但是似乎这次我弄错了: 例: 我的问题: 在上面的示例中,我期望编译器可以打印出来,但是它可以打印出来。为什么会这样呢?什么超级真正返回? 问题答案: 使用的方法调用只会忽略当前

  • 我不知道这个代码出了什么问题,我得到的标准输出是空的错误帮助我! 提供的投入:

  • 和之前 inputs/stdin 插件一样,outputs/stdout 插件也是最基础和简单的输出插件。同样在这里简单介绍一下,作为输出插件的一个共性了解。 配置示例 output { stdout { codec => rubydebug workers => 2 } } 解释 输出插件统一具有一个参数是 workers。Logstash 为输

  • 我正在尝试使用perl进行简单的问卷调查。我想在用户输入时将响应记录在日志文件中。我在将stdin重定向到文件时遇到问题。 下面是我实现的代码。参考这个。 我现在得到的输出是,只有在用户输入后,问题才被打印出来。 下面是预期的输出: 我还发现了重复的stdin到stdout,但真的无法实现我想要的。我错过了什么吗?! 有更清洁的解决方案吗?