FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
CHECDB_Header.cpp
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 FrontISTR Commons
3  * This software is released under the MIT License, see LICENSE.txt
4  *****************************************************************************/
5 /*
6  CHECDB_Header Ver.1.0
7 */
8 
9 #include "CHECDB.h"
10 #include "CHECData.h"
11 
13 
15 
16 void CHECDB_Header::Clear() { title[0] = 0; }
17 
19  if (title[0] == 0) return;
20 
21  hecd->WriteHeader("!HEADER");
22  hecd->WriteLine(title);
23 }
24 
25 bool CHECDB_Header::Read(CHECData *hecd, char *header_line) {
26  char line[256];
27 
28  if (!hecd->ReadLine(line)) return false;
29 
30  if (line[0] == '!') {
31  hecd->PushReadLine(line);
32  return true;
33  }
34 
35  strcpy(title, line);
36  return true;
37 }
CHECDataBlock
Definition: CHECDataBlock.h:17
CHECData.h
CHECDB_Header::Read
virtual bool Read(class CHECData *hecd, char *header_line)
Definition: CHECDB_Header.cpp:25
CHECDB_Header::CHECDB_Header
CHECDB_Header()
Definition: CHECDB_Header.cpp:12
CHECData::PushReadLine
virtual void PushReadLine(const char *s)
Definition: CHECData.cpp:328
CHECDB_Header::title
char title[hec_str_size]
Definition: CHECDB.h:53
CHECData::ReadLine
virtual bool ReadLine(char *s, int size=256)
Definition: CHECData.cpp:307
CHECDB_Header::Clear
virtual void Clear()
Definition: CHECDB_Header.cpp:16
CHECDB.h
HECDB_HEADER
@ HECDB_HEADER
Definition: CHECDB.h:21
CHECData::WriteHeader
virtual void WriteHeader(const char *name, const char *fmt="",...)
Definition: CHECData.cpp:68
CHECData
Definition: CHECData.h:25
CHECDB_Header::~CHECDB_Header
virtual ~CHECDB_Header()
Definition: CHECDB_Header.cpp:14
CHECData::WriteLine
virtual void WriteLine(const char *s)
Definition: CHECData.cpp:58
CHECDB_Header::Write
virtual void Write(class CHECData *hecd)
Definition: CHECDB_Header.cpp:18