可以
vsprintf()函数中的自变量是位于数组中的,数组元素的字符串之前都要加上百分号(%)。这个函数是“一步一步[step-by-step]”按顺序执行。在第一个%后,将插入第一个数组元素;在第二个%后,将插入第二个数组元素,依次类推。
vsprintf是sprintf的一个变形,它只有三个参数。vsprintf用于执行有多个参数的自订函式,类似printf格式。vsprintf的前两个参数与sprintf相同:一个用于保存结果的字元缓冲区和一个格式字串。第三个参数是指向格式化参数阵列的指标。实际上,该指标指向在堆叠中供函式呼叫的变数。va_list、va_start和va_end巨集(在STDARGH中定义)帮助我们处理堆叠指标。本章最后的SCRNSIZE程式展示了使用这些巨集的方法。使用vsprintf函式,sprintf函式可以这样编写:
int sprintf (char szBuffer, const
char szFormat, ){ int iReturn ; va_list pArgs ; va_start
(pArgs, szFormat) ; iReturn = vsprintf (szBuffer, szFormat, pArgs)
; va_end (pArgs) ; return iReturn ;}
va_start巨集将pArg设置为指向一个堆叠变数,该变数位址在堆叠参数szFormat的上面。
函数名: vsprintf
功 能: 送格式化输出到串中
用 法: int vsprintf(char string, char
format, va_list param);
程序例:
#include
#include
#include
char buffer[80];
int vspf(char fmt, )
{
va_list
argptr;
int cnt;
va_start(argptr, fmt);
cnt =
vsprintf(buffer, fmt, argptr);
va_end(argptr);
return(cnt);
}
int main(void)
{
int inumber
= 30;
float
fnumber = 900;
char
string[4] = "abc";
vspf("%d %f
%s", inumber, fnumber, string);
printf("%s\n", buffer);
return
0;
}
va_list ap;
int len;
va_start(ap, format);
vsprintf(_this->printfBuf, format, ap)
va_end(ap);
把参数 ap 按照
format 指定的格式,
写到 _this->printfBuf
中
基本和 sprinf 类似
比如上面给的例子:
vsprintf(buffer, fmt, argptr);
fmt="%d %f %s"
就是把后面的参数按照 "%d %f %s" 这个格式输出到 buffer中
用linux自带的fortran编译器gfortran重新编译源程序就可以了。
intel visual fortran 也有linux版本,在网上找找看。
>
解压:
下载以后解压缩,首先安装原版。
然后(只针对VS2010),将压缩包内的 VA_Xdll 复制到以下文件夹内,覆盖原文件。
Win7系统:
%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\100\Extensions\Whole Tomato Software\Visual Assist X\10618450
这样就可以成功破解了。
Ubuntu1204系统:
将/usr/include目录下的文件拷贝到/mnt/hgfs/文件夹下,(共享文件夹设置,自信查找)
命令行:
cp -r /usr/include /mnt/hgfs/vmshare/
在win7中,将vmshare里拷贝的头文件放置到目录:
C:/Program Files/Microsoft Visual Studio 90/VC/include下。
visual assist设置:
在visual assist上面设置文件路径。
再次打开vs2010时,visual assist会自动解析目录下的文件。
在vs里写代码(代码来自于网络,本人稍作修改)
Ubuntu里编译:
gcc -o ep helloc -lpthread
net
framework只支持windows系统,C#写的程序不能直接运行在linux系统。
不过,用
mono
写出来的可以直接运行在Windows、Linux、Max
OS
X、FreeBSD等系统上。
你好,
cutilh的头文件在CUDA 50以后就被移除了,如果你想用的话可以到CUDA examples里面找到common里面的helper_头文件代替。你也可以从网上单独将cutilh再下载下来即可。
谢谢,望采纳
c的代码可以在任何平台书写
只需要一个编辑器就可以了
但调试c的代码就不同了
vs作为一个IDE自然是提供了编辑器功能的
所以vs肯定是可以写c/c++代码的
既然如此自然是可以使用vs写基于linux平台的c/c++程序了
但注意这里是说写并没有说调试
因为vs是专家微软平台设计的
在linux上是无法运行的
所以不能在linux下用(你想wine随你了)
而且windows和linux所使用的接口是不同的(系统函数不同)
所以vs只能写基于linux平台的代码而不能调试
当然如果是那种可移植的代码或者只使用了c/c++标准库的代码
不管在哪个平台都可以的
以上就是关于vsprintf_s可以在linux中用吗全部的内容,包括:vsprintf_s可以在linux中用吗、如何将在windows下写的程序编译成linux下的可执行程序文件、新手求教,如何在VS2010环境下写linux的c++程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)