fileio.cpp

来自「传感器网络的可靠路由算法」· C++ 代码 · 共 65 行

CPP
65
字号
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "fileio.h"
#include "assert.h"

bool BlankLine(char String[]);

FileIO::~FileIO(void)
{
}

bool FileIO::ReadString( const char * key, char *buf){
    
	char buf1[MAX_STRING_LENGTH],buf2[MAX_STRING_LENGTH];

	for(int i = 0 ; i < numLines ; i++){
		sscanf(inputStrings[i],"%s %s",buf1,buf2);
		if(strcmp(buf1,key)==0){ strcpy(buf,buf2); return true;}
	}

	return false;

}

bool BlankLine(char String[]) {
    unsigned int I;
    for (I = 0; I < strlen(String);I++) {
        if ((int)String[I] > (int)(' ')) {
            return false;
        }
    }
    return true;
}

FileIO::FileIO(const char * filename){

	char readStr[MAX_STRING_LENGTH];
	numLines = 0;

	FILE * fd = fopen(filename, "r");

	if (fd == NULL) {

		printf("Can't open this config file %s",filename);
		exit(-1);
	}

	while (fgets(readStr, MAX_STRING_LENGTH, fd) != NULL) {
        if ((readStr[0] == '#') || (BlankLine(readStr))) {
            continue;
        }

        if (numLines >= MAX_NUM_LINES) {

			printf("Simulator Error: File Format error %s.\n", filename);
			assert(0);
        }
        memcpy(inputStrings[numLines], readStr, strlen(readStr) + 1);
        numLines++;
    }

  	fclose(fd);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?