• vc读取INI文件


    提醒注意:ini文件和exe文件必须在同个目录。 
    // OPini.h: interface for the COPini class.
    //

    //
    //////////////////////////////////////////////////////////////////// 

    // ***************************************************************
    //  OPini   version:  1.0   ? date: 07/19/2007
    //  -------------------------------------------------------------
    //  这个类用来读取exe下ini文件的内容。
    //  -------------------------------------------------------------
    //  Copyright (C) 2007 - All Rights Reserved
    // ***************************************************************
    // 
    // *************************************************************** 


    #if !defined(AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED_)
    #
    define AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED_ 

    #if _MSC_VER > 1000
    #
    pragma once
    #
    endif // _MSC_VER > 1000 

    #include <afxwin.h> 

    class COPini  
    {
    public:
        
    static DWORD ReadString (char *section, char * key,  char stringtoread[],  char * filename);
        
    static BOOL WriteString(LPCTSTR section, LPCTSTR key,char* stringtoadd, char *filename);
        COPini();
        
    virtual ~COPini(); 

    }; 

    #endif // !defined(AFX_OPINI_H__CE3F8B7B_1ACA_46CC_A91C_F8E23FA9B063__INCLUDED_) 




    // OPini.cpp: implementation of the COPini class.
    //

    //
    //////////////////////////////////////////////////////////////////// 

    #include "OPini.h" 

    /********************************************************************
        created:    2007/07/19
        created:    19:7:2007   10:13
        filename:     OPini.cpp
        file path:    
        file base:    OPini
        file ext:    cpp
        author:        alantop
        purpose:    读取INI文件。
    ********************************************************************
    */ 

    //////////////////////////////////////////////////////////////////////
    // Construction/Destruction

    //
    //////////////////////////////////////////////////////////////////// 

    COPini
    ::COPini()
    {


    COPini
    ::~COPini()
    {
    }
    /*****************************************************************************
    Function:       // 
    Description:    // 写字符串到INI文件
    Calls:          // 
    Called By:      // 
    Table Accessed: // 
    Table Updated:  // 
    Input:          // 
    Output:         // 
    Return:         // 成功返回真,失败返回假.失败后,可用DWORD GetLastError(VOID)
                       查询失败原因。
    Others:         // 
    author:         // alantop
    date:           // 2007.07.19
    *****************************************************************************
    */
    /*
    void error(LPSTR lpszFunction) 

        CHAR szBuf[80]; 
        DWORD dw = GetLastError(); 
        sprintf(szBuf, "%s failed: GetLastError returned %u\n", 
            lpszFunction, dw); 
        MessageBox(NULL, szBuf, "Error", MB_OK); 
        ExitProcess(dw); 


    */
    BOOL COPini
    ::WriteString(LPCTSTR section, LPCTSTR key, char *stringtoadd, char *filename)
    {
        CHAR FilePath[
    255]; 
        GetModuleFileName(
    NULL,FilePath,255); 
        
    //Scan a string for the last occurrence of a character.
        (strrchr(FilePath,'\\'))[1= 0
        strcat(FilePath
    ,filename);
        
    return ::WritePrivateProfileString(section,key,stringtoadd,FilePath);


    /*****************************************************************************
    Function:       // 
    Description:    // 从INI文件中读取字符串
    Calls:          // 
    Called By:      // 
    Table Accessed: // 
    Table Updated:  // 
    Input:          // 
    Output:         // 
    Return:         // 读取了多少个字节的字符
    Others:         // 
    author:         // alantop
    date:           // 2007.07.19
    *****************************************************************************
    */
    DWORD COPini
    ::ReadString(char *section, char * key,  char stringtoread[],  char * filename)
    {
        CHAR FilePath[
    255]; 
        GetModuleFileName(
    NULL,FilePath,255); 
        (
    strrchr(FilePath,'\\'))[1= 0
        strcat(FilePath
    ,filename);
        
    return ::GetPrivateProfileString(section, key,NULL,stringtoread,255,FilePath);



     

     示例:

    #include <stdio.h>
    #
    include "opini.h" 

    void main()
    {
        char stringtoread[
    200];
        COPini
    ::ReadString("group", "item", stringtoread, "test.ini");
        char stringtoadd[] 
    = "hello1";
        COPini
    ::WriteString("group", "item",  stringtoadd, "test.ini");
        
    return;
    }
  • 相关阅读:
    fragment、ListFragment使用ListView及自定义Listview等初始化操作
    【LeetCode】 sort list 单清单归并
    HDU 1251 统计拼图 Trie解决问题的方法
    Oracle推断领域包括中国
    hust1384---The value of F[n]
    ffmpeg参数具体解释
    什么是大数据的核心价值?
    还是畅通project(杭州电1233)
    Redis源代码分析(二十七)--- rio制I/O包裹
    回想一下著名的BigTable论题
  • 原文地址:https://www.cnblogs.com/smallmuda/p/1358119.html
Copyright © 2020-2023  润新知