问题标签 [visual-c++-2013]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
174 浏览

c++ - sscanf 无法读取双十六进制

我需要在具有其他 ascii 值的文本文件中保留某些双精度的确切二进制表示,因此我按照问题中的建议使用“%a”。

但是,当我尝试使用“%la”读取它时,scanf 返回读取的 0 个项目。

当我打开调试器时,我看到字符串缓冲区完全符合我的预期。

buf ...“比例:0x1.fc70e3p-1、0x1.fc70e3p-1、0x1.fc70e3p-1\n”...字符[1000]

那为什么不能读呢?

根据Nate Eldredge的要求,这是我的 MCVE 版本:

注意:我使用的是 MS Visual Studio 2013

第二个注意:我需要将源代码和数据文件发送给第三方,第三方有自己的编译器。所以保存格式必须相对独立于平台。

0 投票
0 回答
51 浏览

command-line-arguments - 是否有一个命令行选项可以防止编译器在 C++ 中将 64 位转换为 32 位操作?

我生成了可能具有 64 位操作和数据类型的 c 代码。我为 32 位 CPU 编译它,因此编译器使用一系列 32 位类型/操作来模拟 64 位类型/操作。在我的情况下,不允许使用 64 位类型。

编译器在构建过程中是否有像命令行选项这样的可能性来警告我?在最好的情况下,我在编译器日志文件中看到编译器在哪个文件和行中模拟了 64 位类型/操作。

0 投票
3 回答
91 浏览

c++ - 如何使用模板找到参数 T 的最大可解引用级别

我正在设计一个“取消引用”类,为了好玩。

我写了一些structs 和aliass :

假设有一个类型为 的变量T = std::vector<int**>::iterator,它是被解引用到 2 级指针的迭代器,因此具有 3 级可解引用性。

在这里,我想知道T编译时任意类型的“可取消引用”的最大级别。

我认为这类似于在编译时生成一个序列:模板元组 - 在每个元素上调用一个函数 ,但我无法画出具体的图片。

这是我尝试过的:

但它不起作用......(编译器说max不是 tje 类的成员)出了什么问题?

0 投票
2 回答
247 浏览

mfc - Visual Studio 开始运行时清除命令行参数

在我的解决方案中,我有一个 Visual C++ 项目,它使用

平台工具集 = Visual Studio 2013 (v120)

我在 Visual Studio 2019 中打开。

如果我编辑 Project Properties > Configuration Properties > Debugging > Command arguments to something,并执行 OK 一切顺利,就好像我再次打开此对话框一样,一切正常。

在此处输入图像描述

但是当我运行应用程序时,对于指定的配置,命令参数被清除,因为在发布和调试配置中都会发生同样的奇怪行为。这样我就不能使用VS接口来参数化命令输入。

在我按下播放按钮的那一刻,参数化就消失了:

在此处输入图像描述

请帮忙。

更新:

这似乎是导致奇怪行为的扩展。我禁用了所有可能的扩展,现在没有发生这种行为。当我有时间时,我会尝试挑选让我烦恼的扩展程序并提供更多更新。

更新 2:

我只是按字母顺序启用了几个块的扩展并最终启用了所有这些扩展,并且看到 VS 表现良好。我相信禁用某些扩展的事实使事情重回正轨。