草庐IT

c++ - 将二维数组作为参数传递

在这个例子中:inta[2][2]={{1,2},{3,4}};int*p=a[0];cout两者给出相同的输出。那为什么我不能像这样调用函数(比如有趣)并循环遍历数组:fun(a[0]);fun(int*p){cout 最佳答案 fun(a[0]);//thislooksOKvoidfun(int*p)//thisisOKifyouaddreturntype'^^^^{cout 关于c++-将二维数组作为参数传递,我们在StackOverflow上找到一个类似的问题:

c++ - 没有来自 wxWidget 应用程序的 cout,但是使用 Eclipse 它工作正常

我的wxWidget应用程序没有生成任何std::cout...在Windows控制台(WindowsXP)上,当它从控制台启动时,例如:“调用MyApplication.exe”。它根本不会产生任何输出。该应用程序反而正确上升并且工作正常。Frame上的所有Buttons和Widgets都有它们的功能。当我从Eclipse运行我的应用程序时,它会按应有的方式向Eclipse的控制台生成输出。那么,为什么我在Windows控制台上看不到任何输出?我需要激活什么? 最佳答案 我一直对此很好奇,所以我点击了BoPersson'sansw

c# - 将 cout 从 C++ dll 重定向到 C# 中的文本框

我正在尝试将dll中方法的控制台输出(cout)显示到C#程序中的文本框。每次调用该方法时,控制台输出都会显示在VisualStudio的输出Pane中。有没有办法将输出Pane的内容重定向到文本框?dll是由其他人用C++编写的,我无法更改它。该dll使用SWIG包装,以便我的C#代码可以调用它。 最佳答案 在点击David建议的链接后,我决定针对您的问题编写一个更具体的解决方案。此版本允许您通过BackgroundWorkerPropertyChangedEventHandler回调在GUI中接收标准输出。这是ConsoleRe

c++ - 在没有显式转换的情况下将字符显示为整数

每次我向cout对象发送一个char时,它都会以ASCII字符显示,除非我将它转换为int。问:有没有一种方法可以在不显式转换的情况下显示char的数值?我在某处读到,在您的代码中进行过多的转换可能会导致(您的程序)完整性受损。我猜测字符以ASCII显示是出于某种特殊原因,但我不确定原因。我实际上是在创建游戏。我正在使用计划显示到控制台的小数字(无符号字符)。我可能有点偏执,但每当我发送垃圾邮件时我都会有这种不安的感觉static_cast在我的代码中无处不在。 最佳答案 不过,类型转换并没有错,尤其是当你使用static_cast

c++ - fprintf/fputs 与大字符串的 cout 性能

当我对fprintf()进行测试时,fputs(),和ofstreamoperator(,我意识到C函数(两者)提供了更好的运行时性能,但是当输入字符串变大时,两个C函数的运行速度都比C++的运算符慢。我想知道C++在小字符串上表现不佳的原因,以及它在大字符串上优于C的原因。欣赏它。注意:不幸的是,我无法共享大小超过1000个字符的字符串。测试结果-StringSize->20chars,C++(50chars,C++(1000chars,C++(2000chars,C++(50000chars,C++(100000chars,C++(这是代码#include#include#incl

c++ format cout with "right"and setw() for a string and float

我正在尝试格式化一个“cout”,它必须显示如下内容:Result$34.45金额($34.45)必须在右侧索引上,并带有一定数量的填充或在特定列位置结束。我尝试使用cout但是,它是为“$”字符串设置宽度,而不是为字符串加金额设置宽度。关于处理此类格式有什么建议吗? 最佳答案 您需要将"$"和值34.45组合成单独的字符串。像这样尝试:#include#include#include#includeusingnamespacestd;intmain(){stringstreamss;ss

C++:有没有什么好的读/写方法而不用在函数名中特别说明字符类型? (cout 与 wcout 等)

我在让程序根据模板从文件中读取时遇到问题,例如:boolparse(basic_ifstream&file){Tch;localeloc=file.getloc();basic_stringbuf;file.unsetf(ios_base::skipws);if(file.is_open()){while(file>>ch){if(isalnum(ch,loc)){buf+=ch;}elseif(!buf.empty()){addWord(buf);buf.clear();}}if(!buf.empty()){addWord(buf);}returntrue;}returnfalse;

c++ - 在 rdbuf() 中感到困惑

这是我的简单代码:#includeintmain(){intfoo;std::cin.rdbuf(std::cout.rdbuf());std::cin>>foo;//what'llhappenatthisline?whateverI'llinputwillgotocout'sbufferthentofoo,right?}我在想上面的代码将设置cin的缓冲区到cout的缓冲区,所以当我输入一些数字时,它也会被输出。我想我对自己的程序感到困惑。谁能告诉我程序中发生了什么?此外,如果我在末尾再添加一行:std::cout,然后它打印随机数,这意味着foo永远不会得到输入。那么总体情况如何?

c++ - cout、cerr、clog的rdbuf改成重定向到文件后,是否需要重新设置?

在试图弄清楚如何回答https://stackoverflow.com/questions/33601384/what-is-the-file-descriptor-of-linuxs-environments-standard-logging-stream时,我注意到一个链接ananswertoarelatedSOpost.我用g++4.8.4尝试了上面链接答案中的代码,但在程序终止之前出现了段错误。程序如下:#include#includeintmain(){std::ofstreamof("cout.txt");std::cout.rdbuf(of.rdbuf());std::c

c++ - 我可以使用 printf() 打印类的对象吗?

我有这样的代码:classPoint{public:intx,y;Point():x(1),y(1){}}我可以使用printf()打印该类的对象吗?:intmain(){Pointpoint;printf("%o",point);return0;}或者我必须重载operator并使用std::cout:std::ostream&operator 最佳答案 CanIprintobjectofthatclassusingprintf()?没有。printf在这个意义上是不可扩展的。最好的选择是重载operator在std::ostre