标记为iostream的活动问题-堆栈溢出 最近30次来自stackoverflow.com 2024-07-02T03:03:50Z https://stackoverflow.com/feeds/tag?标记名=iostream&amp;sort=投票 https://creativecommons.org/licenses/by-sa/4.0/rdf https://stackoverflow.com/q/78645353 0 使用Interlisp Medley将文本I/O流写入文件 千如洲 https://stackoverflow.com/users/16807109 2024-06-20时间3:15:19 z 2024-06-28T06:22:58Z年 <p>我正在尝试将文本流写入Medley的Interlisp文件。我到处找过(在网上和书中),但在Interlisp中找不到一个可行的I/O流文件操作命令</p>(第页)<p>由于@ignis volens的回答,我找到了以下解决方案,但我还没有成功打印到文件,我使用的代码如下:</p><pre><code>(SETQ S(OPENSTREAM输出。TEDIT输出))&gt&书信电报;OUTPUT流&gt;(PRIN1’lalala S)&gt;拉拉拉(GETFILEINFO“output.EDIT”保护)&gt;33188</code></pre><p>它没有报告错误,但报告了文件的输出。TEDIT中没有任何内容,文本“lalala”没有按预期打印到文件中。保护返回一个字符串,这是什么意思?到目前为止,我还没有找到任何答案</p>(第页)<p>我也尝试过:</p><pre><code>(SETQ N(打开文件'N.TEDIT'输出))&gt;{DSK}。。。(PRIN1'lalala N)&gt;不再支持LITATOM“流”{DSK}。。。</code></pre> https://stackoverflow.com/q/78670075 -1 为什么std::cout不能打印到终端?[已关闭] 用户25731389 https://stackoverflow.com/users/25731389 2024-06-26T01:56:17Z 2024-06-26T15:15:30Z <p>主cpp</p><pre><code>#include&lt;iostream&gt;int main(无效){标准::cout&lt&它&quot;测试&它&书信电报;标准::endl;返回0;}</code></pre><p>此代码使用<code>g++-omain.main.cpp</code>编译为exe-fine,但使用<code>运行时/main</code>终端中没有显示任何内容。终端中没有错误或任何内容</p>(第页)<p>解决:我重新安装了mingw,解决了问题</p>(第页) https://stackoverflow.com/q/77978429 0 执行cpp代码时无法显示重音符号 艾蒂安 https://stackoverflow.com/users/23385471 2024-02-11T21:05:19Z 2024-06-26T02:37:18Z <p>为了好玩,我用Cesar的轮子在cpp中编写了一个简单的代码来加密消息,但我不能显示重音符号和非ASCII字符,而我使用了一些wstring、wcin和wcout,我还使用了库语言环境来使用VScode打开的终端中的系统编码,它可以工作,但不能在我想要的代码中工作。我的VScode由我的学校预先配置为cpp编码,它会打开一个Windows终端窗口来运行代码</p>(第页)<p>以下是显示重音和非ASCII字符的代码:</p><pre><code>#include&lt;iostream&gt;#包括&lt;语言环境&gt;使用命名空间标准;整型main(){设置语言环境(LC_ALL,&quot;&quot);wcout&lt&书信电报;L&quot;(L);文本avec重音符号:é,á,ó&quot&它&书信电报;endl;返回0;}</code></pre><p>在实际的代码中,我希望它能正常工作,但它不能正常工作,所以我需要帮助。下面是我想kdisplay非ASCII字符的代码,但它没有:</p><pre><code>#include&lt;iostream&gt;#包括;游戏工具.h&quot;#包括&lt;语言环境&gt;使用命名空间标准;wstring消息加密程序;void demanderMessage(wstring&amp;message);void encrypterLeMessage(wstring&amp;message);整型main(){设置语言环境(LC_ALL,&quot;&quot);demanderMessage(messageACrypter);encrypterLeMessage(消息加密程序);返回0;}void demanderMessage(wstring和message){wcout&lt&它&quot;通过塞萨尔集团的系统向您发送加密信息&它&书信电报;endl;wcin&gt&gt;信息;}无效加密程序LeMessage(wstring&amp;message){设置语言环境(LC_ALL,&quot;&quot);int memTemp;wstring memTempString;wstring消息代码;int nbr解密;nbrDeCryptage=随机(1,26);for(int i=0;消息[i]!='\0';i++){memTemp=int(消息[i])+nbrDeCryptage;memTempString=wchar_t(memTemp);messageCode+=memTempString;}wcout&lt&它&quot;Voici le消息加密“&它&书信电报;endl;wcout&lt&书信电报;消息代码;}</code></pre><p>如果你有什么建议的话,我会采纳的。很抱歉,我在IT学院的第一年编码方面做得不好</p> https://stackoverflow.com/q/78657486 -1 Interlisp混合泳:不再支持LITATOM“流” 千如洲 https://stackoverflow.com/users/16807109 2024-06-23T00:10:08Z 2024-06-23T00:10:08Z <p>我正在尝试将字符串文本打印到interisp混合文件中的文件。代码如下:</p><pre><code>(输出)&gt;T型(SETQ OUT(设置输出)(OPENSTREAM“输出.编辑”输出))&gt&书信电报;输出流&gt;(输出)&gt;T型(PRIN1’lalala出局)&gt;拉拉拉</code></pre><p>而是文件的输出。TEDIT(及其新版本)仍然是空的。如果我尝试这样做:</p><pre><code>(PRIN1“lalala(OPENFILE”输出.EDIT“OUT”输出))</code></pre><p>它会弹出一个“INTERLISP ERROR”窗口,显示&quot;不再支持LITATOM“流”&quot</p>(第页)<p>如何在Interlisp混合泳中打印到文件</p>(第页) https://stackoverflow.com/q/35201919 21 如何打印文件的内容?C++文件流 卢卡斯·史密斯 https://stackoverflow.com/users/4408974 2016年2月4日T13:11:47Z 2024-06-20T23:07:27Z <p>我正在使用fstream和C++,我想让我的程序做的就是将.txt文件的内容打印到终端。这可能很简单,但我在网上看了很多东西,找不到任何对我有帮助的东西。我该怎么做?这是我目前掌握的代码:</p><pre><code>#include&lt;iostream&gt;#包括&lt;fstream&gt;使用命名空间标准;整型main(){字符串输出;ifstream myfile;流myfile2的;字符串string;myfile.open(&quot;/Volumes/LFARLEIGH/Lucas.txt);我的文件2&lt&它&quot;卢卡斯,它奏效了;;我的文件&gt&gt;字符串;不能&lt&书信电报;字符串&lt&书信电报;endl;myfile.close();返回0;}</code></pre> https://stackoverflow.com/q/78644322 0 像数组一样读取文件而不复制到数组中? 好奇_66 https://stackoverflow.com/users/1107474 2024-06-19T19:26:44 Z 2024-06-19T22:44:01Z年 <p>我有100到400 MB的ASCII文件</p>(第页)<p>我想逐字节读取它们,就像读取数组一样。所以我可以像访问if(file[pos]==\n)</code>等那样访问每个字节</p><p>然而,我有数千个这样的文件,我认为将每个文件复制到一个阵列中会很昂贵</p>(第页)<p>是否可以像读取数组一样读取文件,而无需显式复制到数组,并避免只使用标准C++</p>(第页) https://stackoverflow.com/q/78604495 1 Boost变量精度数似乎不符合流精度标志 天津 https://stackoverflow.com/users/1350400 2024-06-10T20:56:39Z 2024-06-11T01:03:30 Z <p><strong>问题:</strong>在将一些代码从MPFI的自制OOP包装器迁移到Boost Multiprecision时,我注意到将可变精度Boost数字打印到输出流中显然会忽略流的精度参数。事实上,可变精度的行为与<code>20</code>的精度相同,与数字的实际精度无关。如果这是预期的行为,而不是一个错误,那么我很好奇是否有人能够解释其背后的原因</p><小时/><p><strong>其他背景:</strong>使用固定精度类型(如<code>mpfi_float_100)时,打印间隔将显示达到指定流精度的所有数字。但是,当使用设置为相同精度的变量精度类型<code>mpfi_float</code>时,打印间隔显示的是一小部分数字,似乎忽略了流精度。重要的是,打印下限/上限直接显示所有预期数字,与固定精度情况下观察到的输出完全匹配(精度小于20时除外,因为这似乎是可变精度的最小精度<code>mpfi_float</code>)</p>(第页)<p>下面是一个小示例程序,它突出了观察到的行为:</p><pre class=“lang-cpp prettyprint-override”><code>#include&lt;boost/multiprecision/mpfi.hpp&gt;#包括&lt;iostream&gt;int main(int argc,char**argv){constexpr无符号TESTPREC=100;使用命名空间标准;使用命名空间boost::multiprecision;计算精度(5000);//打印固定精度数字时,输出时始终显示最大数字数字&lt;mpfi_float_backend&lt;测试预处理&gt&gt;a=2;数字&lt;mpfi_float_backend&lt;测试预处理&gt&gt;root_a=平方根(a);不能&lt&书信电报;root_a&lt&书信电报;endl;//分别打印332和334位数字的边界不能&lt&书信电报;下部(roota)&lt&书信电报;endl;//打印332位数的下限不能&lt&书信电报;上部(roota)&lt&书信电报;endl;//打印334位数的上限不能&lt&书信电报;endl;//输出时,打印可变精度数字可能不会显示所有数字mpfi_float b=2;mpfi_float::默认精度(TESTPREC);mpfi_float root_b=平方位(b);不能&lt&书信电报;root_b&lt&书信电报;endl;//打印的边界分别只有68位和67位不能&lt&书信电报;下部(root_b)&lt&书信电报;endl;//打印332位数的下限不能&lt&书信电报;上部(root_b)&lt&书信电报;endl;//打印334位数的上限不能&lt&书信电报;endl;返回0;}</code></pre><p>下面是一张表,总结了我观察到的几个精度值的行为:</p><div class=“s-table-container”><thead><tr>预处理类型TESTPREC测试小写上数字信号。数字</th></tr></thead><t车身><tr>变量</td>任何</td><td style=“text-align:right;”>68</td>67</td><td style=“text-align:right;”>19</td></tr><tr><td style=“text-align:left;”>已修复</td><td style=“text-align:right;”>10</td><td style=“text-align:right;”>35</td><td style=“text-align:right;”>30</td><td style=“text-align:right;”>11</td></tr><tr><td style=“text-align:left;”>已修复</td><td style=“text-align:right;”>20</td><td style=“text-align:right;”>68</td>67</td><td style=“text-align:right;”>19</td></tr><tr><td style=“text-align:left;”>已修复</td><td style=“text-align:right;”>50</td><td style=“text-align:right;”>168</td>167</td><td style=“text-align:right;”>50</td></tr><tr><td style=“text-align:left;”>已修复</td><td style=“text-align:right;”>100</td><td style=“text-align:right;”>332</td><td style=“text-align:right;”>334</td>101</td></tr><tr><td style=“text-align:left;”>已修复</td><td style=“text-align:right;”>500</td>1663年</td><td style=“text-align:right;”>1662</td>501</td></tr><tr><td style=“text-align:left;”>已修复</td><td style=“text-align:right;”>1000</td>3324</td>3323</td><td style=“text-align:right;”>1001</td></tr></tbody></table></div><p>我的构建环境:</p><ul><li>Windows 11 Pro(Intel Core i9-11900H)</li><li>Visual Studio社区22(17.10.1 64位)<ul><li>编译器标志包括<code>/std:c++20</code>、<code>/permissive-</code>和<code>/fp:strict</li></ul></li><li>Boost 1.85.0(x64窗口)</li><li>GNU MPFR 4.2.1(x64窗口)</li></ul><p>感谢所有花时间阅读本文的人</p>(第页) https://stackoverflow.com/q/25114597 62 如何在g++中打印__int128? 倒霉 https://stackoverflow.com/users/717822 2014年8月4日T08:33:33 Z 2024-06-04T04:56:03Z年 <p>我在C++程序中使用GCC内置类型<code>__int128</code>来完成一些事情,没有什么真正重要的,至少不足以证明仅为此使用BigInt库是合理的,而且足以防止完全删除它</p>(第页)<p>当我遇到我的类的打印部分时,我的问题就来了,下面是一个最小的示例:</p><pre><code>#include&lt;iostream&gt;整型main(){__整数128 t=1234567890;标准::cout&lt&书信电报;t&lt&书信电报;标准::endl;返回t;}</code></pre><p>注释掉<code>std::cout</code>行将使此代码能够用<code>g++编译得很好,但使用它将导致以下错误消息:</p><pre><code>int128.c:在函数“int main()”中:int128.c:7:13:错误:operator&lt;的重载不明确&“lt;”(操作数类型为“std::ostream{aka std:∶basic_ostream&lt;char&gt;}”和“__int128”)标准::cout&lt&书信电报;t&lt&书信电报;标准::endl;^int128.c:7:13:注意:候选人是:在/usr/include/c++/4.9/iostream:39:0中包含的文件中,从int128.c:1:/usr/include/c++/4.9/ostream:108:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(std::basic_ostream&lt;_CharT,_Traits&gt;:__ostreame_type&amp;(*)(std:::basic _ostream&lt;-CharT,-Traits&rgt;::__ostream_type&ramp;)[带有_CharT=char;_Traits=std:;接近匹配&gt;运算符&lt&书信电报;(__ostream_type&amp;(*__pf)(__rostream_type&ramp;))^/usr/include/c++/4.9/ostream:108:7:注意:参数1从'__int128'到'std::basic_ostream&lt;没有已知的转换;字符&gt;::__鸵鸟类型&amp;(*)(标准::basic_ostream&lt;字符&gt;::__ostream类型&amp;)/usr/include/c++/4.9/ostream:117:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(std::basic_ostream&lt;_CharT,_Traits&gt;:__ios_type&amp;(*)(std::basic_sorteam&lt;-CharT,-Traits>::__ois_type&amp lt;_图表&gt;::__ios_type=标准::basic_ios&lt;字符&gt;]&书信电报;接近匹配&gt;运算符&lt&书信电报;(__ios_type&amp;(*__pf)(__ois_type&amp;))^/usr/include/c++/4.9/ostream:117:7:注意:参数1从__int128到std::basic_ostream&lt;没有已知的转换;字符&gt;::__ios_type&amp;(*)(标准::basic_ostream&lt;char&gt;:__ios_type&amp;){aka标准::basec_ios&lt;char&gt;&amp/usr/include/c++/4.9/ostream:127:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(标准::ios_base&amp;(*)(标准:;ios_base&amp;))[使用_CharT=char;_Traits=std::char_Traits&lt;char&gt;;标准::basic_ostream&lt;_CharT,_Traits&gt;:__ostream _type=std::basic_sorteam&lt;char&gt;]&lt;接近匹配&gt;运算符&lt&书信电报;(ios_base(*__pf)(ios_ base))^/usr/include/c++/4.9/ostream:127:7:注意:参数1从“__int128”到“std::ios_base&amp;”的转换未知;(*)(标准::ios_base&amp;)'/usr/include/c++/4.9/ostream:166:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(长整型)[带有_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:“basic_ostream”&lt;_CharT,_Traits&gt;::__ostream_type=std::basic_ ostream&lt;char&gt;]运算符&lt&书信电报;(长__n)^/usr/include/c++/4.9/ostream:170:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(long unsigned int)[带_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std::basic_ostream&lt;_CharT,_Traits&gt;:__ostream_type=std::basic_ ostream&lt;char&gt;]运算符&lt&书信电报;(无符号long __n)^/usr/include/c++/4.9/ostream:174:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(bool)[使用_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:;basic_ostream&lt;_CharT,_Traits&gt;::__ostream _type=std::basic_costream&lt;char&gt;]运算符&lt&书信电报;(bool__n)^在/usr/include/c++/4.9/ostream:609:0中包含的文件中,来自/usr/include/c++/4.9/iostream:39,从int128.c:1:/usr/include/c++/4.9/bits/ostream.tcc:91:5:note:std::basic_ostream&lt_CharT、_Traits&gt&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(短int)[其中_CharT=char;_Traits=std::char_Traits&lt;char&gt;]基本流&lt_CharT,_Traits&gt;::^在/usr/include/c++/4.9/iostream:39:0中包含的文件中,从int128.c:1:/usr/include/c++/4.9/ostream:181:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(短无符号int)[带_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:;basic_ostream&lt;_CharT,_Traits;::__ostream _type=std::basic_costream&lt;char&gt;]运算符&lt&书信电报;(无符号短__n)^在/usr/include/c++/4.9/ostream:609:0中包含的文件中,来自/usr/include/c++/4.9/iostream:39,从int128.c:1:/usr/include/c++/4.9/bits/ostream.tcc:105:5:note:std::basic_ostream&lt_CharT、_Traits&gt&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(int)[其中_CharT=char;_Traits=std::char_Traits&lt;char&gt;]基本流&lt_CharT,_Traits&gt;::^在/usr/include/c++/4.9/iostream:39:0中包含的文件中,从int128.c:1:/usr/include/c++/4.9/ostream:192:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(无符号int)[其中_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:;basic_ostream&lt;_CharT,_Traits&gt;::__ostream _type=std::basic_costream&lt;char&gt;]运算符&lt&书信电报;(无符号整数__n)^/usr/include/c++/4.9/osteream:201:7:注意:std::basic_stream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(long long int)[带有_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:;basic_ostream&lt;_CharT,_Traits&gt;:__ostream_type=std::basic_ ostream&lt;char&gt;]运算符&lt&书信电报;(long-long __n)^/usr/include/c++/4.9/ostream:205:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(long long unsigned int)[带_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std::basic_ostream&lt;_CharT,_Traits;::__ostream _type=std::basic_costream&lt;char&gt;]运算符&lt&书信电报;(无符号long long __n)^/usr/include/c++/4.9/ostream:220:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(双精度)[使用_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:;basic_ostream&lt;_CharT,_Traits&gt;::__ostream _type=std::basic_costream&lt;char&gt;]运算符&lt&书信电报;(双__f)^/usr/include/c++/4.9/ostream:224:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(浮点)[其中_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std::基本流&lt;_CharT,_Traits&gt;:__ostream_type=std::基本流&lt;char&gt;]运算符&lt&书信电报;(浮动__f)^/usr/include/c++/4.9/osteream:232:7:注意:std::basic_stream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(长双精度)[带有_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:;basic_ostream&lt;_CharT,_Traits&gt;::__ostream _type=std::basic_costream&lt;char&gt;]运算符&lt&书信电报;(长双__f)^/usr/include/c++/4.9/ostream:245:7:note:std::basic_ostream&lt_CharT,_Traits&gt;::__鸵鸟类型&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(const void*)[使用_CharT=char;_Traits=std::char_Traits&lt;char&gt;;std:;basic_ostream&lt;_CharT,_Traits&gt;::__ostream _type=std::basic_costream&lt;char&gt;]&lt;接近匹配&gt;运算符&lt&书信电报;(常数无效*__p)^/usr/include/c++/4.9/ostream:245:7:注意:参数1从“__int128”到“const void*”的转换未知在/usr/include/c++/4.9/ostream:609:0中包含的文件中,来自/usr/include/c++/4.9/iostream:39,从int128.c:1:/usr/include/c++/4.9/bits/ostream.tcc:119:5:note:std::basic_ostream&lt_CharT、_Traits&gt&amp;标准::basic_ostream&lt_CharT,_Traits&gt;::运算符&lt&书信电报;(std::basic_ostream&lt;_CharT,_Traits&gt;::__streambuf_type*)[其中_CharT=char;_Traits=std:“char_Traits&rt;char&gt;;std:”basic_costream&lt;_CharT,_Traits&lt;::___streambuf_type=std::“basic_streampuf&lt;char&lt;]&lt;接近匹配&gt;基本流&lt_CharT,_Traits&gt;::^/usr/include/c++/4.9/bits/ostream.tcc:119:5:注意:参数1从__int128到std::basic_ostream&lt;的转换未知;字符&gt;::__streambuf_type*{aka std::basic_streambuf&lt;char&gt;*}'在/usr/include/c++/4.9/iostream:39:0中包含的文件中,从int128.c:1:/usr/include/c++/4.9/ostream:493:5:note:std::basic_ostream&lt;char、_Traits&gt&amp;标准::运算符&lt&书信电报;(std::basic_stream&lt;char,_Traits&gt;&amp;,无符号char)[其中_Traits=std::char_Traits&lt;char&gt;]运算符&lt&书信电报;(basic_ostream&lt;char,_Traits&gt;&__out,unsigned char __c)^/usr/include/c++/4.9/ostream:488:5:note:std::basic_ostream&lt;char、_Traits&gt&amp;标准::运算符&lt&书信电报;(std::basic_ostream&lt;char,_Traits&gt;&amp;,signed char)[with _Traits=std:运算符&lt&书信电报;(basic_ostream&lt;char,_Traits&gt;&__out,带符号字符__c)^/usr/include/c++/4.9/ostream:482:5:note:std::basic_ostream&lt;char、_Traits&gt&amp;标准::运算符&lt&书信电报;(标准::basic_ostream&lt;char,_Traits&gt;&amp;,char)[其中_Traits=标准::char_Traits&lt;char&gt;]运算符&lt&书信电报;(basic_ostream&lt;char,_Traits&gt;&amp;__out,char __c)^/usr/include/c++/4.9/ostream:476:5:note:std::basic_ostream&lt_CharT、_Traits&gt&amp;标准::运算符&lt&书信电报;(std::basic_ostream&lt;_CharT,_Traits&gt;&amp;,char)[其中_CharT=char;_Traits=std:;char_Traits&rt;char&gt;]运算符&lt&书信电报;(basic_ostream&lt;_CharT,_Traits&gt;&amp;__out,char__c)^</code></pre><p>是的,我知道,很多行都解释了<code>__int128</code>没有得到正确处理</p>(第页)<p>是否有一种简单的方法可以将__int128打印为其他任何数字类型</p>(第页)<p>编辑:对于那些仍然混淆C和C++的人,是的,我读到了这个问题:<a href=“https://stackoverflow.com/questions/11656241/how-to-print-uint128-t-number-using-gcc“>如何使用gcc打印__uint128_t编号</p> https://stackoverflow.com/q/78561857 0 下面关于cin的unsetf()方法的陈述是什么意思? 用户3612 https://stackoverflow.com/users/20554684 2024-05-31T19:32:13Z年 2024-05-31T23:51:11Z年 <p>在Bjarne Stroustrup的第11.2.1章中;原理和使用C++的实践,他展示了以下例子:</p><pre><code>cin.unsetf(ios::dec);//不要采用十进制(因此0x可以表示十六进制)cin.unstf(ios:oct);//不要假设八进制(因此12可以表示12)cin.unestf(ios::hex);//不要假设是十六进制(因此12可以表示12)</code></pre><p>因此,我四处游玩并写下了以下内容:</p><pre><code>int main(){标准::cin.unsetf(标准::ios::dec);对于(int x;标准::cin&gt;&gt;x;)标准::cout&lt&书信电报;x&lt&书信电报;标准::endl;}</code></pre><p>它支持对十六进制和八进制使用前缀<code>0X和<code>0。但当输入<code>12</code>或任何其他没有上述前缀的整数时,它仍被解释为12。那么他这么说是什么意思</p>(第页)<区块报价><p>不要假设是十六进制(因此12可以表示12)</p></blockquote><p>对十六进制和oct执行<code>unsetf</code>似乎没有效果</p>(第页) https://stackoverflow.com/q/18881854 9 如何将float输出为cout而不使用科学符号或尾随零? 中微子 https://stackoverflow.com/users/954927 2013年9月18日20:34:05Z 2024-05-28T08:15:46Z <p>用C++输出浮点数时,最优雅的方法是什么?没有科学符号或尾随零</p>(第页)<pre class=“lang-cpp prettyprint-override”>float a=0.000001f;浮子b=0.1f;不能&lt&书信电报;“a:”&lt&书信电报;a&lt&书信电报;endl;//1e-006很糟糕,不需要sci符号。不能&lt&书信电报;“b:”&lt&书信电报;b&lt&书信电报;endl;//0.1合格。不能&lt&书信电报;固定&lt&书信电报;设置精度(6);不能&lt&书信电报;“a:”&lt&书信电报;a&lt&书信电报;endl;//0.000001好。不能&lt&书信电报;“b:”&lt&书信电报;b&lt&书信电报;endl;//0.100000太可怕了,不希望后面有零。</code></pre> https://stackoverflow.com/q/57882748 10 打印浮点数时如何删除尾随的零?[副本] Trưngức Vinh https://stackoverflow.com/users/12047800 2019-09-11T05:38:42Z 2024-05-28T08:12:48Z <p>我想问一下如何删除小数点后的尾随零</p>(第页)<p>我读过很多关于它的话题,但我不清楚。你能告诉我一些容易理解的方法吗</p>(第页)<p>例如<strong>12.50</strong>到12.5,但实际输出<strong>12.50</p> https://stackoverflow.com/q/26203441 15 如何使用std::cin读取bool 赛马牌手表 https://stackoverflow.com/users/3925915 2014年10月5日14:18:58Z 2024-05-28T06:22:45Z年 <p>我是C++的新手,我想知道函数cin在布尔数据的情况下是如何工作的。例如:</p><pre><code>bool a;cin&gt&gt;a;</code></pre><p>我理解,如果我给出0或1,我的数据a要么为真要么为假。但如果我再给一个整数,甚至一个字符串,会发生什么呢</p>(第页)<p>我正在处理以下代码:</p><pre><code>#include&lt;iostream&gt;使用命名空间标准;整型main(){bool a微笑,b微笑;不能&lt&它&quot;微笑&quot&它&书信电报;endl;cin&gt&gt;aMile;不能&lt&它&quot;b微笑&quot&它&书信电报;endl;cin&gt&gt;b微笑;if(微笑==真)不能&lt&它&quot;问题“;;其他的不能&lt&它&quot;没问题&quot;;返回0;}</code></pre><p>如果我给两个布尔值都取0或1,就没有问题了。但如果我再给一个整数,输出如下:</p>微笑?9b微笑?问题</code></pre><p>我没有被要求在bSmile中输入任何值,<code>cin&gt;行&gt;b微笑</code>似乎被跳过。如果我给aMile一个字符串值,也会发生同样的情况</p>(第页)<p>发生了什么</p>(第页) https://stackoverflow.com/q/78515255 9 将指向未构造streambuf对象的指针传递给ostream构造函数是未定义的行为吗? 斯科特·麦克皮克 https://stackoverflow.com/users/2659307 2024-05-22T04:01:52Z年 2024-05-24T14:48:32Z年 <h2>问题</h2><p>以下程序是否具有未定义的行为</p>(第页)<pre class=“lang-cpp prettyprint-override”><code>#include&lt;iostream&gt;//标准::{ostream,streambuf}//streambuf ctor是受保护的,所以我们需要一个包装器来创建一个。struct mystreambuf:公共标准::streambu{};外部mystreambuf sb;//尚未建造。标准::ostream os(&amp;sb);//超车&quot;无效&quot;指针在这里?乌兰巴托?mystreambuf sb;//现在它已经建成了。int main(){返回0;}</code></pre><p>它调用<code>ostream构造函数,将指针传递给生存期尚未开始的<code>streambuf</code>对象(<a href=“https://eel.is/c++草稿/basic.life#1“rel=”nofollow noreferrer“>基本寿命p1</a>)。这是否构成未定义的行为</p>(第页)<h2>尝试的答案</h2><p>如果<code>streambuf</code>是用户编写的类,那么<a href=“https://eel.is/c++草稿/class.cdtor#1“rel=”nofollow noreferrer“>class.cdtor p1</a>将治理,这意味着:</p><区块报价><p>对于具有非平凡构造函数的对象,引用任何构造函数之前对象的非状态成员或基类开始执行会导致未定义的行为。[…]</p></blockquote><p>这种语言及其附带的示例清楚地表明获取未构造对象的地址不是未定义的。到目前为止我可以看出,将该地址作为指向用户编写函数的指针传递只存储其值并针对<code>nullptr进行测试的未定义</p>(第页)<p>但是<code>streambuf</code>是一个库类,因此<a href=“https://eel.is/c++草稿/约束#res.on.arguments-1“rel=”nofollow noreferrer“>res.on-arguments p1</a>适用,部分内容如下:</p><区块报价><p>如果函数的参数具有无效值(例如值在函数的域之外或指针对其无效预期用途),行为未定义</p>(第页)</blockquote><p>但什么构成了;无效值;?大概我们必须这样做确定&quot;预期用途;通过读取调用的功能。建造师规范<a href=“https://eel.is/c++draft/ostream.cons#1“rel=”nofollow noreferrer“>ostream.cons p1部分表示:</p><区块报价><p>效果:使用初始化基类子对象<code>basic_ios&lt;字符,特征&gt;::init(sb)</code>([basic.ios.cons])</p>(第页)</blockquote><p>init的规范<a href=“https://eel.is/c++草稿/basic.ios.cons#4“rel=”nofollow noreferrer“>basic.ios.cons p4表示:</p><区块报价><p>后置条件:此函数的后置条件如所示表127</p></blockquote><p>其中表127有两行提到<code>sb</code>:</p>元素值------- -----rdbuf()某人如果sb不是空指针,则返回rdstate()goodbit,否则返回badbit。</code></pre><p>因此,乍一看,这似乎表明<code>sb</code>仅存储(以便<code>rdbuf()</code>可以返回它)并测试是否为<code>nullptr;这些共同构成了它的&quot;预期用途;。因为这两个用户编写的代码是合法的,通过指针有问题,所以程序已经定义了行为</p>(第页)<p>但表127只是一个后置条件列表。它没有明确地断言,除此之外,没有任何其他内容属于&quot;预期用途;。为此,似乎有必要彻底审查<code>basic_ostream及其子类可能与<code>sb有关</p>(第页)<p>在尝试这样做时,我发现<code>在<a href=“https://eel.is/c++草稿/basic.ios.members#9“rel=”nofollow noreferrer“>basic.ios.members p9</a>:</p><区块报价><p>效果:调用<code>ios_base::imbue(loc)</code>和if<code>rdbuf()!=0</code>然后<code>rdbuf()-&gt;公共场所(loc)</code></p>(第页)</blockquote><p>显然,调用<code>rdbuf()-&gt;pubimbue(loc)</code>在对象指向之前由<code>rdbuf()构造的是未定义的。我们调用<code>浸入</code>吗?不是当然,没有特别的理由怀疑间接调用,但这种行为的存在可以证明它在&quot;范围内;预期用途;传递给构造函数,因为它最终可以这样使用。此外,实现调用<em>是否必须</em>不一致<code>在<code>ostream</code>构造函数中自己嵌入</code>?我不明白为什么是的,如果实现<em>可以自由调用<code>,则在构造函数,那么很明显我们有未定义的行为。而且有可能是建议其他用法的其他方法,因为我的调查绝非如此完成</p>(第页)<p>现在,在关于<a href=“https://codereview.stackexchange.com/a/292130/242360“>答案</a>对于一个相关的问题,indi认为Clang实施了<code>std::basic_fstream不传递指向未构造成员的指针对象指向处的<code>iostream</code>构造函数<a href=“https://github.com/llvm/llvm-project/blob/llvmorg-18.1.6/libcxx/include/fstream#L1419“rel=”nofollow noreferrer“>fstream:1419</a>:</p><pre-class=“lang-cpp prettyprint override”><code>basic_filebuf&lt;字符类型,traits_type&gt__sb_;};模板&lt;类_图表,类_图表&gt;内联基本流&lt_CharT,_Traits&gt;::basic_fstream():basic_ iostream&lt;字符类型,traits_type&gt;(&amp;__sb){}</code></pre><p>但这个例子并不是决定性的,因为(1)这可能是一个错误,(2)库实现通常被允许做一些事情这在用户代码中是未定义的。然而,它至少很弱Clang开发商认为实践中没有的证据未定义的行为,因为在这种情况下他们没有理由编写代码这依赖于图书馆的许可证来改变规则,因为它会将<code>nullptr</code>传递给构造函数是一个很小的更改然后在主体调用<code>init</code>中使用的地址(现在是完整的构造的)成员对象</p>(第页)<p>最终,在我看来,语言规范是模棱两可的,因为它依赖于条款;无效值&quot;和&quot;预期用途;哪些是没有明确规定。但也许有人可以确定一个条款I我的解释中有遗漏或错误</p>(第页)<h2>相关问题</h2><p>在研究这个问题时,我遇到了一些现有的问题这似乎是相关的。这个问题<a href=“https://stackoverflow.com/questions/772355/how-to-inherit-from-stdostream“>如何继承std::ostream</a>有三个相关答案:</p><ul><li><p>(最高位)<a href=“https://stackoverflow.com/a/19933011/2659307“>本的回答</a>是专门编辑,通过确保<code>streambuf</code>在传递其地址之前构造</p>(第页)</li><li><p>最近的<a href=“https://stackoverflow.com/a/76593298/2659307“>也通过mach6回答</a>特意避免传递未构造对象的指针,这一次使用<code>nullptr初始化<code>ostream(尽管使用了只有GNU libc++具有的非标准构造函数,但很容易被标准替换),然后调用<code>init之后</p>(第页)</li><li><p><a href=“https://stackoverflow.com/a/2712661/2659307“>回答</a>亨利克·海诺(Henrik Heino)传递了非Y构造的指针。但这个答案不声称是正确的,有一条评论说通过这样的指针不正确</p>(第页)</li></ul><p>从这些回答和评论中,我推断相当多的知识渊博的人人们相信这个问题最上面的例子未定义的行为</p>(第页)<p>与此同时,这个问题<a href=“https://stackoverflow.com/questions/62230054/is-it-dangerous-to-a-pointer-to-a-subobject-that-is-not-constructed-yet-to“>在对象构造期间,将指向尚未构造的子对象的指针传递给另一个子对象的构造函数是否危险</a>与我的非常相似,但被一些重要的示例代码的某些部分缺失,并且涉及无关的<code>另一个类</code>进一步混淆了这个问题。这个<a href=“https://stackoverflow.com/a/62230967/2659307aschepler“>回答</a>似乎说这种做法总体上还行,但在OP中不行原因是<code>AnotherClass</code>,但这只是因为代码是由用户编写的,忽略了库方面</p>(第页)<p>最后,问题是<a href=“https://stackoverflow.com/questions/12931999/is-it-safe-to-pass-an-unstructed-buffer-to-the-constructor-of-stostream“>将未构造的缓冲区传递给std::ostream的构造函数安全吗</a>基本上和我的一样--我要的是一个副本!为什么?简而言之,这个问题没有答案,我认为额外的研究我的问题更有可能得到回答,所以我实际上是为了取代那个而提交的。我问了一个<a href=“https://meta.stackoverflow.com/questions/430317/what-if-my-question-with-many-details-is-a-duplicate-of-an-existing-much-simpler“>元问题</a>询问此副本是否可以接受,以及共识似乎就是这样</p><小时/><p>我接受了克里斯·多德的<a href=“https://stackoverflow.com/a/78520359/2659307“>回答</a>,但我想详细阐述一下,所以这是在我自己的话</p>(第页)<p>原始示例具有未定义的行为,因为在此行中:</p><pre class=“lang-cpp prettyprint-override”><code>std::ostream os(&sb);//超车&quot;无效&quot;指针在这里?乌兰巴托?</code></pre><p>表达式<code>&amp;sb具有类型mystreambuf*,但正在传递给接受<code>std::streambuf*</code>的构造函数,因此必须衍生到基础的转换。该转换应用于指向具有非平凡构造函数的未构造对象,具有未定义的行为,因为它是;[引用]到的任何[…]基类对象;,这是被禁止的<a href=“https://eel.is/c++草稿/class.cdtor#1“rel=”nofollow noreferrer“>class.cdtor p1</a></p><p>该节中的示例进一步阐明了这一点。引用关键行从中:</p><pre class=“lang-cpp prettyprint-override”><code>struct X{int i;};结构Y:X{Y();};//非平凡的结构A{int A;};结构B:公共A{int j;Y Y;};//非平凡的外部B bobj;A*pa=&amp;bobj;//未定义的行为:向上转换为基类类型B bobj;//bobj的定义</code></pre><p>此外,这意味着不仅是问题未定义,但它是<em>一般</em>未定义做什么问题标题说,即“to”;传递指向未构造的ostream构造函数的streambuf对象;。那是因为标准::streambuf<a href=“https://eel.is/c++draft/streambuf“rel=”nofollow noreferrer“>构造函数受保护,因此实例必须始终是正确的基类子对象,因此获取<code>std::streambuf*的唯一方法是使用派生到基转换</p>(第页)<p>这意味着引用自Clang libc++的代码如果是用户代码,则为未定义的行为,并且我已提交<a href=“https://github.com/llvm/llvm-project/issues/93307“rel=”nofollow noreferrer“>第93307期,针对Clang</p> https://stackoverflow.com/q/2872543 527 C中的“printf”与“cout”++ 英雄 https://stackoverflow.com/users/345863 2010年5月20日09:42:15Z 2024-05-24T13:57:54 Z <p><a href=“http://en.cppreference.com/w/cpp/io/c/fprintf“rel=”noreferrer“><code>printf()</code></a>和<a href=”http://en.cppreference.com/w/cpp/io/basic_ostream“rel=”noreferrer“><code>cout</code></a>在C++中</p> https://stackoverflow.com/q/78460934 0 安装g++和#include<iostream> 奥利维尔·杜波尔 https://stackoverflow.com/users/21282863 2024-05-10T14:52:43 Z 2024-05-10T15:19:31分 <p>这是我安装的</p><p><a href=“https://i.sstatic.net/lQuc7nj9.png“rel=”nofollow noreferrer“><img src=”https://i.sstatic.net/lQuc7nj9.png“alt=”这是我安装的东西“/></a></p><p>这告诉我,我没有在MYS32上安装g++<a href=“https://i.sstatic.net/yrhdg7v0.png“rel=”nofollow noreferrer“><img src=”https://i.sstatic.net/yrhdg7v0.png“alt=”这告诉我,我没有在MYS32上安装g++“/></a></p><p>我最终获得了g++(但没有在我的VSCode控制台中)<a href=“https://i.sstatic.net/OlvUEqJ1.png“rel=”nofollow noreferrer“><img src=”https://i.sstatic.net/OlvUEqJ1.png“alt=”我终于获得了g++(但不是在我的VSCode控制台中)“/></a></p><p>您只需更改设置中的路径<a href=“https://i.sstatic.net/1DmNHT3L.png“rel=”nofollow noreferrer“><img src=”https://i.sstatic.net/1DmNHT3L.png“alt=”您只需更改设置中的路径“/></a></p><p>但我的输入输出总是有错误<a href=“https://i.sstatic.net/eAWkksfv.png“rel=”nofollow noreferrer“><img src=”https://i.sstatic.net/eAWkksfv.png“alt=”但我的输入输出总是有错误“/></a></p><p>错误如下:</p><p>&quot#包括检测到的错误。请更新includePath。此翻译单元(C:\Users\Olivier Robert\OneDrive\Images\Documents\Apprentissage de C++\Exercice_1.cpp)的静音已禁用。C/C++(1696)无法打开源文件;iostream&quot;。请运行“选择智能感知配置…”命令定位系统标头。C/C++&quot</p>(第页)<p>我试图在JSON中直接修改它,但仍然没有成功。也许它的路径或位置不对<a href=“https://i.sstatic.net/jyE7K8BF.png网址“rel=”nofollow noreferrer“><img src=”https://i.sstatic.net/jyE7K8BF.png网址“alt=”我试图直接在JSON中修改它,但仍然没有成功。也许这不是正确的路径或正确的位置“/></a></p><p>你知道如何解决这个问题吗</p>(第页)<p>我所做的一切如上所述</p> https://stackoverflow.com/q/68327292 1 我正在编写一个cpp程序来打印两个数字之间的所有质数。程序正在成功运行,但没有打印任何内容 纳曼·维尔玛 https://stackoverflow.com/users/14918058 2021-07-10T11:31:23Z 2024-05-09 T11:23:33Z <pre><code>#include&lt;iostream&gt;使用命名空间标准;bool是Prime(int num){for(int i=2;i&lt;=num;i++){if(数量%i==0){返回false;}}返回true;}整型main(){整数a,b;cin&gt&gt;a&gt&gt;b;for(int i=a;i&lt;=b;i++){if(isPrime(i)){不能&lt&书信电报;i;}}返回0;}</code></pre><p>请告诉我我的错误,程序运行成功,但没有打印任何内容</p>(第页) https://stackoverflow.com/q/4300696 104 什么是<iosfwd>标头? wp2型 https://stackoverflow.com/users/518383 2010年11月29日T03:47:42Z 2024-05-08T07:39:31分 <p>什么是<a href=“https://en.cppreference.com/w/cpp/header/iosfwd“rel=”noreferrer“><code>&lt;iosfwd&gt;</code>header</a>用于?为什么需要</p><p>有什么例子吗</p>(第页) https://stackoverflow.com/q/1377403 28 iostream.h中用于conio.h的getch()的替代函数? 阿尤什 https://stackoverflow.com/users/159475 2009年9月4日T05:40:36Z 2024-05-04T10:49:04Z <p>我试图使用头文件<code>&lt;iostream.h&gt</code>,但我不知道任何与<code>getch()</code>&amp<code>clrscr()</code>的函数<code>&lt;圆锥.h&gt</<code>&lt;中的code>;iostream.h&gt</code>或任何其他C++库。有这样的功能吗</p>(第页) https://stackoverflow.com/q/78414362 0 如何从用户输入中收集双精度数,并使用指向“向量”的“指针”打印它们?[副本] 零式 https://stackoverflow.com/users/5556553 2024-05-01T14:47:09Z 2024-05-02T14:43:47 Z <p>这是一个从用户输入中获取一些<code>double</code>的代码,然后打印它们<br/>输入看起来像这样<code>1 2 3 4.5 x</code>,其中<code>x</code>是一个任意的非双精度</code>for</code>循环,用于中断第一个<code><br/>然而,它断了</p>(第页)<pre><code>#include&lt;iostream&gt;#包括&lt;向量&gt;使用命名空间标准;整型main(){向量&lt;双倍&gt*b;用于(双i;cin&gt;&gt;i;){b-&gt;后推(i);}for(双j:(*b)){不能&lt&书信电报;j&lt&书信电报;endl;}返回0;}</code></pre> https://stackoverflow.com/q/66043793 1 处理C++包含的<stdio.h>定义的副渔获物 https://stackoverflow.com/users/2932052 2021-02-04T10:50:52Z 2024-04-28T10:31:24Z <p>在<a href=“https://stackoverflow.com/a/66041677/2932052“>另一个答案</a>,我看到了https://gcc.godbolt.org/z/evcEef“rel=”nofollow noreferrer“>代码示例</a>,它似乎使用了<code>printf</code>,<code>放置</code>,但没有包含<code]&lt;stdio.h&gt;</code],但联机编译器没有抱怨。<sup>[1]</sup>为了了解发生了什么,我将其复制到了我的本地IDE</p><p>减少到相关的包含和输出,基本上是这样的:</p><pre><code>#include&lt;字符串&gt;#包括&lt;地图&gt;#包括&lt;可选&gt;整型main(){printf(答案%d\n,42);put(问题?);}</code></pre><p>通过对gcc 8.1.0(打包为Code::Blocks 20.03)的实验,我发现include可以进一步减少为</p><ul><li><代码>&lt;字符串&gt</code>或<code>&lt;地图&gt</code>或<code>&lt;可选&gt</C++17中的code>(ISO/GCC)</li><li><代码>&lt;字符串&gt</code>或<code>&lt;地图&gt</C++11/C++14中的code>(ISO/GCC)</li><li><代码>&lt;字符串&gt</C++98中的code>(ISO/GCC)</li></ul><p>此外,还有一个样本测试-<a href=“https://ideone.com/jmisTD网站“rel=”nofollow noreferrer“>C++14(GCC 8.3)-on ideone.com编译和运行良好:</p><pre><code>#include&lt;iostream&gt;整型main(){printf(不带#include&lt;stdio.h&gt;的printf);返回0;}</code></pre><p><code>&lt;中的其他定义也是如此;标准.h&gt</代码>类似于<code>FILE</code></p>(第页)<p>我在cppreference.com上找不到任何信息</p><ul><li><a href=“https://en.cppreference.com/w/cpp/io/c/fprintf“rel=”nofollow noreferrer“title=”标准::printf,标准::fprintf</a></li><li><a href=“https://en.cppreference.com/w/cpp/io/c/puts“rel=”nofollow noreferrer“title=”std::puts-cppreference.com“>标准::puts-cppreference.com</a></li><li><a href=“https://en.cppreference.com/w/c/io/fprintf“rel=”nofollow noreferrer“title=”printf,fprintf,sprintf</a></li><li><a href=“https://en.cppreference.com/w/c/io/puts“rel=”nofollow noreferrer“title=”puts-cppreference.com“>puts-cpcpreference.com</a></li></ul><p>我还尝试了几次网络和SO搜索,但到目前为止都没有成功</p>(第页)<p>虽然它可能对小示例来说很方便,可以免费获得一些强大的函数,但一个严重的项目可能会受到影响:除了相对容易修复编译器错误之外,我还看到了严重运行时错误的危险</p>(第页)<p><strong>我如何有效控制/防止这种包容</strong></p><p>2024年更新:</p><p>即使在今天,我们也可以在GCC 13.2中观察到这种行为:</p><pre class=“lang-cpp prettyprint-override”><code>#include&lt;字符串&gt;整型main(){printf(您好);put(世界!);}</code></pre><p>通过<a href=“https://gcc.godbolt.org/z/7463T1h1Y“rel=”nofollow noreferrer“>gcc-std=c++20-Wall-Wextra-Wpedantic-Werror</p><小时/><p><sup>[1]</sup>引用的代码实际上包含include语句,所以我显然没有复制所有代码。无论如何,观察到的行为如上所述</p>(第页) https://stackoverflow.com/q/78378425 0 如何从二进制文件中获取数据? 翡翠808 https://stackoverflow.com/users/23786920 2024-04-24T12:23:21Z年4月24日 2024-04-24T16:08:39Z <p>我得到了用write()成员函数生成的“二进制文件”</p>(第页)<p>“二进制文件”有2'000'000个Player</p>(第页)<pre><code>类Player{字符串名称;//名称,长度[3,15]int分数;//分数size_t id;//id,可能有重叠的id。大小_数字;//自由存储中安全的字节数独特的ptr&lt;字符[]&gt;p、 //年免费存储中安全的内存(保存的字符)</code></pre><p>write()是类Player的成员</p>(第页)<pre><code>void写入(ostream&os){os.write((char*)this,sizeof(Player));os.write((char*)p.get(),num);}</code></pre><p>我尝试将这些所有Player数据保存在容器中</p>(第页)无效读取(istream&amp;is){是.read(reinterpret_cast&lt;char*&gt;(this),sizeof(Player));p=使唯一&lt;字符[]&gt;(数字);是.read(p.get(),num);}</code></pre><p>但程序返回abrb()错误</p>(第页)<p>这是我的全部代码</p>(第页)<pre><code>int main(){{播放器文件中的ifstream,ios::二进制};if(不在){return 0;}向量&lt;玩家&gt;玩家;while(in.peek()!=EOF){球员温度;温度读数(英寸);玩家。后推(temp);}玩家(&amp;P);lastPlayer=players.back();不能&lt&它&quot;名称:“&它&书信电报;lastPlayer.getName()&lt&它&quot;,编号:&quot&它&书信电报;lastPlayer.getId()&lt&它&quot;,得分:;&它&书信电报;lastPlayer.getScore()&lt&它&quot;,数字:&quot&它&书信电报;lastPlayer.getNum()&lt&书信电报;endl;不能&lt&它&quot;字符串:&quot&它&书信电报;lastPlayer.getP()&lt&书信电报;endl;}</code></pre><p>问题1。我的复印分配操作员有问题吗</p>(第页)<pre><code>公开:玩家(){}~玩家(){}玩家(常量玩家和其他玩家):name(other.name),score(other.score),id(other.id),num(other.num){p=使唯一&lt;字符[]&gt;(数字);memcpy(p.get(),其他.p.get(),num);}玩家(&amp;P);operator=(const Player&rhs){if(this==&amp;rhs)返回*this;p.reset(rhs.p.get());返回*this;}播放器(播放器和其他)无例外:name(move(other.name)),score(other.score),id(other.id),num(other.num){p=移动(其他.p);other.num=0;}玩家(&amp;P);operator=(Player&amp;&rhs)noexcept{if(this==&amp;rhs)返回*this;name=移动(rhs.name);score=rhs.score;id=rhs.id;num=rhs.num;p=移动(rhs.p);rhs.num=0;返回*this;}bool运算符==(const Player&rhs)const{if(num!=rhs.num)返回false;返回相等值(p.get(),p.get(;}无效读取(istream&amp;is){是.read(reinterpret_cast&lt;char*&gt;(this),sizeof(Player));p=使唯一&lt;字符[]&gt;(数字);是.read(p.get(),num);}//吸气剂};</code></pre><p>问题2。如何将播放器数据保存在向量(或任何容器)中</p>(第页)<p>我希望能够在容器中存储播放器数据并进行排序;平稳地搜索</p>(第页) https://stackoverflow.com/q/20303734 0 如何从C++输入中读取文件路径,以便打开txt文件? 用户2904033 https://stackoverflow.com/users/2904033 2013年11月30日18:04:04分 2024-04-24T04:07:00Z <p>我在<code>c:\\…中有一个名为myPoints.txt的文件。。。。\我的文档</code>。它包含几个x,y点的列表(例如3.4,5.6)。我正在尝试使用ifstream打开它。一旦我进入文件目录,就会出现运行时错误,程序就会关闭。(例如…<code>c:\mydocuments\myPoints.txt</code>)</p><ol><li>如何输入正确的文件目录</li><li>有没有一种干净的方法将此代码放入以“ifstream ifs”作为参数的函数中</li></ol><p>这是我的文件打开代码:</p><pre><code>int main(){不能&lt&书信电报;“请输入文件名:”;字符串名称;cin&gt&gt;名称;ifstream ifs(name.c_str());if(!ifs)错误(“无法打开输入文件”,名称);向量&lt;点&gt;点;点p;而(ifs&gt;&gt;p)指向push_back(p);// ....}</code></pre><p>不确定问题是否在我的ifstream函数中,所以我将添加它以防出现:</p><pre><code>ifstream&amp;操作员&gt&gt;(ifstream和ifs,Point和p){双x,y;字符逗号;如果&gt&gt;x&gt&gt;逗号&gt&gt;年;if(!ifs)返回ifs;if(逗号!=','){ifs.clear(ios_base::故障位);返回ifs;}p=点(x,y);返回ifs;}</code></pre> https://stackoverflow.com/q/7836015 0 我不明白为什么cin的工作方式会因我接受输入的时间而异[重复] 第27页 https://stackoverflow.com/users/13815530 2024-04-21T20:04:38Z 2024-04-22T02:34:26Z <p>我正在解决hacckerrank挑战<a href=“https://www.hackdrak.com/challenges/arrays-introduction/problem?isFullScreen=true“rel=”nofollow noreferrer“>阵列简介。这是一个非常简单的问题。输入是两行。第一行有整数的大小,第二行有用空格分隔的整数</p>(第页)<p>输入示例:</p><pre class=“lang-none prettyprint-override”><code>41 4 3 2</code></pre><p>预期产量:</p><pre class=“lang-none prettyprint-override”><code>2 3 4 1</code></pre><p>要求打印反转数组的问题。我对这个问题的解决方案如下:</p><pre><code>int main(){/*在此处输入代码。从STDIN读取输入。打印输出到STDOUT*/整数n;整数arr[n];cin&gt&gt;n;for(int i=0;i&lt;n;i++){cin&gt&gt;arr[i];} 对于(int i=n-1;i&gt;=0;i--){不能&lt&书信电报;arr[i]&lt&lt;'';} 返回0;}</code></pre><p>这不起作用。我得到的输出是:4月1日</p><p>但对这个解决方案做一个小小的改变,一切都会好起来。因此,这是可行的:</p><pre><code>int main(){/*在此处输入代码。从STDIN读取输入。打印输出到STDOUT*/整数n;cin&gt&gt;n;整数arr[n];for(int i=0;i&lt;n;i++){cin&gt&gt;arr[i];} 对于(int i=n-1;i&gt;=0;i--){不能&lt&书信电报;arr[i]&lt&lt;'';} 返回0;}</code></pre><p>我不明白为什么在数组声明前后放置cin会对输出产生如此大的影响。如果有人能帮我理解,我会非常感激的。谢谢</p>(第页) https://stackoverflow.com/q/8116541 106 streambuf到底是什么?我该如何使用它? 用户541686 https://stackoverflow.com/users/541686 2011年11月14日T02:05:10Z 2024-04-19T21:51:10Z <p>我正在尝试学习更多关于I/O流在C++中如何工作的知识,我真的很困惑什么时候使用什么</p>(第页)<p>什么是<code>streambuf</code><br>我什么时候使用<code>streambuf</code>,而不是<code>string</code>、<code]istream</code]或<code>vector</code>>?(我已经知道了最后三个,但不知道<code>streambuf</code>与它们相比有什么不同。)</p> https://stackoverflow.com/q/69515153 -3 求数组中的最大和最小数 用户15873758 https://stackoverflow.com/users/0 2021-10-10T12:29:50Z 2024-04-19T03:55:55Z <p>我编写了以下代码,允许用户输入数组并给出该数组中的最大值和最小值</p><p>当我输入数组长度值=4,数组元素为:-32152,38时,它的输出为最大值=1973314801,最小值=24(意外值)</p><p>用于以下代码:-</p><pre><code>#include&lt;iostream&gt;使用命名空间标准;整型main(){整数n;不能&lt&它&quot;数组的输入长度=;;cin&gt&gt;n;int数组[n];for(int i=0;i&lt;n;i++){整数a;不能&lt&它&quot;输入元素&quot&它&书信电报;i+1&lt&它&“=”&“;”;;cin&gt&gt;a;}int max=数组[0];int最小值=数组[0];for(int i=0;i&lt;n;i++){if(数组[i]&gt;最大值){最大值=数组[i];}if(数组[i]&lt;最小值){最小值=数组[i];}}不能&lt&它&quot;最大值=&它&书信电报;最大值&lt&书信电报;endl;不能&lt&它&quot;最小值=“&它&书信电报;最小值;}</code></pre><p>但当我在代码中定义数组的值时,它会给出预期的输出(最小值=3,最大值=12)</p><p>代码(已定义数组值的代码):-</p><pre><code>#include&lt;iostream&gt;使用命名空间标准;整型main(){整数数组[4]={3,6,9,12};int max=数组[0];int最小值=数组[0];对于(int i=0;i&lt;4;i++){if(数组[i]&gt;最大值){最大值=数组[i];}if(数组[i]&lt;最小值){最小值=数组[i];}}不能&lt&它&quot;最大值=&它&书信电报;最大值&lt&书信电报;endl;不能&lt&它&quot;最小值=“&它&书信电报;最小值;}</code></pre><p>这里有什么问题</p>(第页) https://stackoverflow.com/q/78304763 2 将boost::filesystem与std::ifstream一起使用? 阿玛特拉苏 https://stackoverflow.com/users/11250952 2024-04-10T13:23:06Z年4月10日 2024-04-10T14:14:16Z年4月10日 <p>我使用Ubuntu 20.04 LTS和C++20,并提高了1.71.0</p><p>以下编译无误并输出示例文件内容:</p><pre><code>#include&lt;iostream&gt;#包括&lt;字符串&gt;#包括&lt;boost/filesystem.hpp&gt;#包括&lt;文件系统&gt;整型main(){boost::filesystem::path output_dir=boost:;boost::files系统:路径sample_file=output_dir/&quot;sample.txt&quot;;std::ifstream ifs{sample_file};标准::字符串内容((标准::istreambuf_iterator&lt;char&gt;(ifs)),(标准:;标准::cout&lt&它&quot;示例文件内容:&它&书信电报;标准::endl&lt&书信电报;内容&lt&书信电报;标准::endl;返回0;}</code></pre><p>那么这是如何工作的呢?这是不是隐式转换为<code>std::string</p>(第页)<p>这个使用安全吗</p>(第页) https://stackoverflow.com/q/78299548 0 以线程安全的方式使用std::ios_base::pword()? 保罗·J·卢卡斯 https://stackoverflow.com/users/99089 2024-04-09T15:28:40 Z 2024-04-09时间16:32:01Z <p>我想使用<a href=“https://en.cppreference.com/w/cpp/io/ios_base/pword“rel=”nofollow noreferrer“><code>pword()</code></a>使用任何流存储附加对象,但以线程安全的方式,特别是首次为给定流分配对象的<em><strong>一个</strong></em>实例</code>引用不是原子的,因此不能使用比较交换函数,我认为我必须使用带内存屏障的双重检查锁定。使用<a href=“https://preshing.com/20130930/双重检查锁定-is-fixed-in-cpp11/“rel=”nofollow noreferrer“>作为起点,我有:</p>类my_obj{/*…*/};my_obj*获取_obj(标准::ios_base&amp;b){静态int常量索引=ios_base::xalloc();void*p=b.pword(索引);标准::atomic_thread_fence(标准::memory_order_acquire);如果(p==nullptr){静态std::mutex mutex;标准::lock_guard&lt;std::互斥锁&gt;锁定{mutex};p=b.pword(指数);如果(p==nullptr){p=新my_obj;std::atomic_thread_fence(std::memory_order_release);b.pword(指数)=p;}}return static_cast&lt;my_obj*&gt;(p);}</code></pre><p>然而,在&quot;使用C++11获取并释放围栏;<a href=“给出的示例https://preshing.com/20130930/双重检查锁定-is-fixed-in-cpp11/“rel=”nofollow noreferrer“>表示</a>文章,它的指针<code>m_instance</code>是<code>std::atomic</code>.即使<code]pword()</code]引用的<code=void*</code>是<em>not</em><code+std:∶atomic</code>,我的上述代码是否仍然是线程安全的?如果不是,有什么方法可以使代码线程安全</p> https://stackoverflow.com/q/33776236 C++ostream重载不起作用,我做错了什么? 阿米特 https://stackoverflow.com/users/5561875 2015年11月18日09时31分33秒 2024-04-07T19:03:27Z <p>编辑:</p><p>在一些注释之后,这是我现在的代码,如下所示https://msdn.microsoft.com/en-us/library/1z2f6c2k.aspx“rel=”nofollow noreferrer“>这个链接。(更好,但我还是有一个错误)</p><p>除此之外:</p><pre><code>ostream&amp;运算符&lt&书信电报;(ostream和out,Device和v){退出&lt&它&quot;设备&quot&它&书信电报;v.获取名称()&lt&它&quot;ID为:&它&书信电报;v.获取id();退出;}</code></pre><p>内部设备类别:</p><pre><code>好友ostream;运算符&lt&书信电报;(ostream&amp;os,const设备&amp;v);</code></pre><p>我的呼叫:(设备类型为节点设备,返回设备)</p><pre><code>cout&lt&书信电报;设备-&gt;值&lt&书信电报;endl;</code></pre><p>我的错误:</p><区块报价><p>错误LNK2019未解析的外部符号&quot;类std::basic_ostream&lt;char,struct标准::char_traits&gt;标准::char_traits&gt&amp__cdecl运算符&lt&书信电报;(类别标准::basic_ostream&lt;char,struct标准::char_traits&gt&amp;,类设备常量(&amp;)&quot;(??6@YAAAV?)$DU上的basic_ostream?$char_traits@D@标准@@@std@@AAV01@ABV设备@@@Z)在函数中引用;void __cdecl print_devices(类节点*)&quot;(?print_devices@@YAXPAV$节点@VDevice@@@@@Z)条</p></blockquote><p><strong>原件:</strong></p><p>我被告知,重载操作符是这样做的:</p><pre><code>ostream&amp;设备::操作员&lt&书信电报;(ostream和out){退出&lt&它&quot;设备&quot&它&书信电报;这个-&gt;名称&lt&它&quot;ID为:&它&书信电报;这个-&gt;身份证件;退出;}</code></pre><p>但当尝试使用此重载时-(设备类型为<code>设备</code>)</p><pre><code>cout&lt&书信电报;设备&lt&书信电报;endl;</code></pre><p>它用红色标记并说-</p><区块报价><p>错误C2679二进制'&lt&lt;':找不到占用右手的运算符“Device”类型的操作数(或没有可接受的转换)</p></blockquote><p>为什么会出现此错误,如何修复?我在网上找了一下,但找不到一个在类内有效的方法,只有这个:</p><区块报价><p>朋友ostream&amp;运算符&lt&书信电报;(ostream&amp;out,Point&cPoint)</p>(第页)</blockquote><p>这对我也不起作用</p>(第页) https://stackoverflow.com/q/3180268 56 为什么C++STL iostreams不“对异常友好”? 罗迪 https://stackoverflow.com/users/1737 2010年7月5日14:28:42Z 2024-04-05T07:45:26Z <p>我已经习惯了Delphi VCL框架,其中TStream在错误(例如文件未找到、磁盘已满)时抛出异常。我正在移植一些代码以使用C++STL,并被iostreams发现,默认情况下不会引发异常,但设置<a href=“http://en.cppreference.com/w/cpp/io/ios_base/iostate相反,“rel=”noreferrer“>badbit/failbit标志</a></p><p>两个问题</p>(第页)<p>a: 为什么——对于一种从第一天起就有例外的语言来说,这似乎是一个奇怪的设计决定</p>(第页)<p>b: 如何最好地避免这种情况?我可以生成像我预期的那样抛出的填充程序类,但这感觉像是重新发明了轮子。也许有一个BOOST库可以以更理智的方式做到这一点</p>(第页) https://stackoverflow.com/q/213907 719 “std::endl”与“\n” 极客头目 https://stackoverflow.com/users/12193 2008年10月17日T21:25:17Z 2024-04-03T05:49:39Z <p>许多C++书籍都包含这样的示例代码</p>(第页)<pre><code>std::cout&lt&书信电报;“测试线”&lt&书信电报;标准::endl;</code></pre><p>。。。所以我也一直这么做。但我看到过很多像这样的开发人员编写的代码:</p><pre><code>std::cout&lt&书信电报;“测试线\n”;</code></pre><p>是否有技术上的原因使人们更喜欢其中一种,或者这仅仅是编码风格的问题</p>(第页)