草庐IT

sprintf_s

全部标签

c++ - 什么是 StringCbprintf,它与一般的 sprintf 有何不同?

我正在查看以前编写的代码,我找到了StringCbPrintf()函数我在msdn网站上找到这样的声明:HRESULTStringCbPrintf(_Out_LPTSTRpszDest,_In_size_tcbDest,_In_LPCTSTRpszFormat,_In_...);这里的_in_和_out_是什么?为什么我们已经有了sprintf()还需要它? 最佳答案 _In_和_Out_(注意:既不是您写的_in_/_out_,也不是其他答案中写的带双下划线的__In__/__Out__)都是所谓的SAL注释。它们可以与/anal

php - mysql查询: date_format and sprintf()

我想在MySQL查询中使用sprintf()和date_format。这里是查询:mysql_select_db($database_exdb,$expdb);$query_eventeditrs=sprintf("SELECTeventid,groupid,title,DATE_FORMAT(dateofevent,'%W,%M%d,%Y'),timeofevent,location,details,presenter,bioFROMeventsWHEREeventid=%s",GetSQLValueString($colname_eventeditrs,"int"));我得到的错误

c# - 等价于 C# 中的 sprintf?

C#中有没有类似sprintf()的东西?例如,我想将一个整数转换为一个2字节的字节数组。类似于:intnumber=17;byte[]s=sprintf("%2c",number); 最佳答案 strings=string.Format("{0:00}",number)第一个0表示“第一个参数”(即数字);冒号后的00是格式说明符(2位数字)。但是,请注意.NET字符串是UTF-16,因此2个字符的字符串是4个字节,而不是2个(编辑:问题从string更改为byte[])要获取字节,请使用编码:byte[]raw=Encoding

在 Sprintf 上查看 vert 警告

我正在做一个项目,我正在使用下面的东西funcTest(formatstring,args...interface{})string{returnfmt.Sprintf(format,args...)}现在,当我运行govet-v./...时,它会给我一个警告:can'tchecknon-constantformatincalltoSprintf据我所知,这是因为Sprintf的第一个参数不是常量,它可以是任何基本上作为格式字符串传递的参数。它也很常用,例如hereonvettestitself现在我知道这是vet工具中的一个错误,可以通过将-printf=false参数传递给gove

go - struct String() 实现导致堆栈溢出并带有 Sprintf "+"标志

Golang新手问题:为什么我不能在String()实现方法中为结构使用"%+v"标志?我有一个结构,我想在其中实现String()方法以实现pretty-print。我喜欢给出的答案here,但我不喜欢打字,所以我试图修改它以使用结构的"%+v"格式标志返回一个字符串。来自fmt文档:%vthevalueinadefaultformatwhenprintingstructs,theplusflag(%+v)addsfieldnames如果我简单地用fmt.Printf("%+v",color)调用它,这工作正常,但如果我尝试将+标志放在String()实现,我遇到堆栈溢出(我第一次有

Golang Sprintf格式化字符串并多次使用

我尝试使用Sprintf()生成一个sql查询我必须两次使用相同的变量myStr:="test"str:=Sprintf("SELECT...WHEREa='%#[1]s'orb='%#[1]s'",myStr)fmt.Println(str)这个片段输出预期的字符串SELECT...WHEREa='test'orb='test'但是govet说:unrecognizedprintfflagforverb's':'#'(vet)我很困惑为什么。将printf动词切换为v满足govet但增加了"在我的绳子周围。老实说,我没有看到使用%#[1]s的错误。.有什么想法吗?

go - 如何在golang中将可变参数传递给Sprintf

我比较懒,想传很多变量给Printf函数,可以吗?(示例代码简化为3个参数,我需要10多个参数)。我收到以下消息:cannotusev(type[]string)astype[]interface{}inargumenttofmt.Printfs:=[]string{"a","b","c","d"}//Resultfromregexp.FindStringSubmatch()fmt.Printf("%5s%4s%3s\n",s[1],s[2],s[3])v:=s[1:]fmt.Printf("%5s%4s%3s\n",v...) 最佳答案

go - 如何将值动态传递给 Sprintf 或 Printf

如果我想填充一个字符串,我可以使用这样的东西:https://play.golang.org/p/ATeUhSP18Npackagemainimport("fmt")funcmain(){x:=fmt.Sprintf("%+20s","HelloWorld!")fmt.Println(x)}来自https://golang.org/pkg/fmt/+alwaysprintasignfornumericvalues;guaranteeASCII-onlyoutputfor%q(%+q)-padwithspacesontherightratherthantheleft(left-justi

c - sprintf 的一件有趣的事

我对sprintf很困惑,这是一个不同平台的有趣问题。代码:intmain(){charsql[1024];uint32_tapp_id=32;uint64_ttask_id=64;sprintf(sql,"%u,%u",task_id,app_id);printf("%s\n",sql);return0;}控制台结果(MSVC2010调试/发布):64,0但在控制台(CentOS64gcc4.4.6)中的相同代码:64,32任何人都会帮助我,谢谢!------------已更新------------------------谢谢大家。我读过这篇文章:sprintfforunsigne

c - sprintf 线程安全吗?

sprintf线程安全吗?//GloballogbuffercharlogBuffer[20];logStatus(char*status,intlength){snprintf(logBuffer,19,status);printf("%s\n",logBuffer);}该函数的线程安全完全依赖于snprintf/sprintf的线程安全。更新:谢谢你的回答。我不介意,如果实际内容gts搞砸了。但是想确认在这种情况下,当多个线程试图写入logBu​​ffer时,sprintf不会导致超过20个字节的内存损坏/缓冲区溢出? 最佳答案