我看到VS2013增加了对C99的大量主要核心语言功能的支持.现在它支持复合文字,指定初始化器,可变参数宏,交错声明和语句,仅举几例.
这表明VS开发人员在Visual Studio中为C99支持迈出了重要的一步.然而,其中一些功能并不是C++语言的一部分,这似乎与之前宣布的开发策略有明显的偏差(例如"VS C编译器只支持那些也是C++一部分的C99功能").
那么,有什么官方或半官方的话说明发生了什么?我似乎无法在网上找到任何确定的内容.这些C99功能是否正式公布?是否有任何承诺继续在VS中支持C99?或者这只是某种"流氓"的非官方发展?
如何将字符转换为C中的字符串.我正在使用c = fgetc(fp)它返回一个字符.但是我需要在strcpy中使用一个字符串
我有这个结构:
struct Foo {
int a;
int* b;
};
Run Code Online (Sandbox Code Playgroud)
然后我就像这样为它创建一个实例:
int x [] = { 5, 6 };
Foo y = { 2, x };
Run Code Online (Sandbox Code Playgroud)
但是,我想创建x内联数组,可能是这样的:
struct Foo y = { 2, (int[]) { 5, 6 } };
Run Code Online (Sandbox Code Playgroud)
但上面的例子不起作用......我怎样才能做到这一点?
---------编辑:
我从intellisense得到这个错误:
转换为不完整的数组类型"int []"是不允许的
构建错误:
错误C4576括号类型后跟初始化列表是非标准显式类型转换语法
我正在使用Visual Studio 2015(v140).