zoukankan      html  css  js  c++  java
  • 使用fscanf读取文本文件

    fscanf为读取文本文件的一个c API,其特点是可格式化读取文件内容。

    1 FILE* pf = fopen("c:\\hello.txt", "r");
    2  if (NULL==pf)
    3 return;
    4
    5  char cstr[256];
    6 fscanf(pf, "%s", cstr);
    7 fclose(pf);

    fscanf使用空格,Tab,回车来分割不同单词,使用起来比较方便。

    下面对fscanf进行了简单的封装,使其能搜索目标字符,读取字符串,整型和双精度浮点数。

    1 #pragma once
    2 #pragma warning (disable:4996)
    3
    4 inline bool HitFlag(FILE* pf, const char* flag)
    5 {
    6 char chs[256];
    7 while (!feof(pf))
    8 {
    9 fscanf(pf, "%s", chs);
    10 if (0==strcmp(flag, chs))
    11 return true;
    12 }
    13
    14 return false;
    15 }
    16
    17 inline std::string ReadStrVal(FILE* pf)
    18 {
    19 char chs[256];
    20 fscanf(pf, "%s", chs);
    21 return std::string(chs);
    22 }
    23
    24 inline int ReadIntVal(FILE* pf)
    25 {
    26 int iVal;
    27 fscanf(pf, "%d", &iVal);
    28 return iVal;
    29 }
    30
    31 inline double ReadDblVal(FILE* pf)
    32 {
    33 double fVal;
    34 fscanf(pf, "%lf", &fVal);
    35 return fVal;
    36 }
  • 相关阅读:
    190401装饰器-高阶函数-闭包
    190329迭代器-生成器-三元运算-列表解析
    OpenStack-Mitaka
    RabbitMQ
    190328文件处理
    190322函数
    190322字符串
    190321集合
    190320运算符&数据类型
    Zookeeper
  • 原文地址:https://www.cnblogs.com/kekec/p/1979617.html
Copyright © 2011-2022 走看看