File: IsAsciiFile.cpp

package info (click to toggle)
librepfunc 1.11.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 468 kB
  • sloc: cpp: 1,768; makefile: 270
file content (24 lines) | stat: -rw-r--r-- 793 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*******************************************************************************
 * librepfunc - a collection of common functions, classes and tools.
 * See the README file for copyright information and how to reach the author.
 ******************************************************************************/
#include <sstream>   // std::stringstream
#include <iomanip>   // std::setfill, std::setw, std::left, std::right
#include <repfunc.h>

bool IsAsciiFile(std::string aFileName) {
  if (not FileExists(aFileName))
     return false;

  for(auto line:ReadFile(aFileName)) {
     for(auto c:line) {
        switch(static_cast<unsigned char>(c)) {
           case 9: break;
           case 32 ... 126: break;
           default: return false;
           }
        }
     }

  return true;
}