作业训练------通过读取c.txt文件中的内容等号右值,并将右值的最大值、最小值、平均值打印到屏幕上。

这篇博客是学习传智播客c++教程的作业,通过在网上进行搜集来完成,但是网上有相似的代码,但是结果总是有点问题,所以本文写了这篇记录下。

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
//3.1去除字符串右边的空格
char *TrimStrR(char *SrcStr)
{
    if (SrcStr == NULL)
    {
        printf("TrimStrR function is error!");
        return NULL;
    }
    int i = 0;
    int iLen = strlen(SrcStr);
    for(i = (iLen -1);i>=0;i--)
    {
        if(SrcStr[i] == ' ')
            SrcStr[i] = 0;
        else
            break;
    }
    return SrcStr;
}
//3.2去掉字符串左边的空格
char *TrimStrL(char *SrcStr)
{
    if (SrcStr == NULL)
    {
        printf("TrimStrR function is error!");
        return NULL;
    }
    if(SrcStr[0] != ' ')
    {
        return SrcStr;
    }
    int i = 0;
    int iLen = strlen(SrcStr);
    if(iLen == 0)
    {
        return SrcStr;
    }
    char *stemp = (char*)malloc(iLen+1);
    memset(stemp,0,iLen+1);
    memcpy(stemp,SrcStr,iLen);
    for(i = 0;i<iLen;i++)
    {
        if(SrcStr[i] != ' ')
        {
            strcpy(stemp,SrcStr+i);
            break;
        }
    }
    strcpy(SrcStr,stemp);
    free(stemp);
    return SrcStr;
}
//3.3解析带等号的字符串并去掉字符串传尾部空格
void ParseValueStr(char *Des,char* SrcStr)
{
    int iLen = strlen(SrcStr);
    if(iLen == 0)
    {
        return ;
    }
    if((SrcStr[iLen -1] == '
')||(SrcStr[iLen -1] == '
'))
    {
        SrcStr[iLen -1] = '