总纲领
1.分析
首先我们建一个.h文件。我们知道.h文件就是函数声明,如果代码
//1.分清楚功能
//2.分清楚功能的输入和输出
//3.实现代码
//功能
//1.写配置文件
//参数:向什么地方写,写key,写vailue
int WriteFile(const char *pfile/*in*/, char *key/*in*/, char *value/*in*/);
//2.读配置文件
int ReadFile(const char *pfile, char *key, char *value);
//在软件开发中,接口要求紧,模块要求松,耦合松
2.打桩
#include "main.h"
int WriteFile(const char *pfile/*in*/, char *key/*in*/, char *value/*in*/){
return 0;
}
int ReadFile(const char *pfile, char *key, char *value){
return 0;
}
3.定义数据的长度
#define LineMaxLen 2048
#define KeyMaxLen 64
4.编写代码
注视还是比较清楚的,有一些函数如果不晓得可以百度
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"main.h"
#define DB_sid "oracle_sid"
#define DB_User "appuser"
#define DB_PassWord "appuser"
#define CFG_FILENAME "d:/1.txt"
int Test_Set()
{
int rv = 0;
int choice = 0;
char key[1024];
char value[1024];
memset(key, 0, sizeof(key));
memset(value, 0, sizeof(value));
printf("\n输入 key:");
scanf("%s", key);
printf("\n输入 value:");
scanf("%s", value);
rv = WriteFile(CFG_FILENAME, key, value, strlen(value));
if (rv != 0)
{
printf("WriteFile() err: %d \n", rv);
goto End;
}
End:
return rv;
}
//获得数据
int Test_getFile()
{
int rv = 0;
int choice = 0;
char key[1024];
char value[1024];
int valueLen = 1024;
memset(key, 0, sizeof(key));
memset(value, 0, sizeof(value));
printf("\nplease enter key:");
scanf("%s", key);
//printf("\nplease enter value:");
//scanf("%s", value);
rv = ReadFile(CFG_FILENAME, key, value, &valueLen);
if (rv != 0)
{
printf("SetCfgItem() err: %d \n", rv);
goto End;
}
printf("\n%s = %s", key, value);
printf("\n读写配置项绿灯测试通过\n");
End:
return rv;
}
//UI部分
void main_menu()
{
printf("\n1 测试设置配置文件) ");
printf("\n2 (测试读取配置文件) ");
printf("\n0 exit(0)(程序退出) ");
printf("\n您的选择:[1/2/0]: ");
}
int main()
{
int chice = 0;
while (1)
{
main_menu();
scanf("%d", &chice);
switch (chice)
{
case 1:
Test_Set();
break;
case 2:
Test_getFile();
break;
case 0:
exit(0);
break;
}
}
system("pause");
return 0;
}