zoukankan      html  css  js  c++  java
  • sscanf 与 sscanf_s的区别

      众所周知,使用C语言读取文本,比C++的文件流快的多,而C语言格式化读取最常用、功能最强大的函数是:sscanf

      关于sscanf函数的用法,有一篇文章讲解的很详细、很透彻,大家可以查看链接:https://www.jb51.net/article/90495.htm

      本文主要讲一下与sscanf_s的区别:

      在vs2010以上平台编写代码时,总是提示sscanf函数不安全,有的时候还会报错,这时候就需要使用sscanf_s函数。

    如果是进行格式化读取字符串的话,就可能会报错,我就遇到这个问题,耗费了大半天工夫才搞定。

      在格式化读取字符串时,如果把sscanf修改为sscanf_s,需要在字符串之后指定字符串的空间大小,否则会出现未知错误。

      下面是一个sscanf_s格式化读取字符串的一个示例:

     1     char name[64];
     2     char time[64];
     3     char status[64];
     4 
     5     double px, py, pz, rmsH, rmsV;
     6     int nSta;
     7 
     8     char line[512] = "sd1 15:17:07 116.5178566411 39.7644534169 21.884 0.016 0.037 13 固定解 2.20";
     9 
    10     sscanf_s(line, "%s%s%lf%lf%lf%lf%lf%d",
    11         name, 64, time, 64, &px, &py, &pz,
    12         &rmsH, &rmsV, &nSta/*, status, &cp.pdop*/);
  • 相关阅读:
    前端博客收集
    Oracle 数据库性能调优
    vue解决跨域问题
    IIS相关问题及解决方案
    《软件测试工程师》学习笔记
    Matlab学习笔记(一)
    排序算法及分析
    Silverlight学习笔记——跨域调用
    Matlab学习笔记(三)
    C#的一些必备技术
  • 原文地址:https://www.cnblogs.com/xingzhensun/p/9915277.html
Copyright © 2011-2022 走看看