C\#에서 INI 파일 을 읽 고 쓰 는 방법의 예
그러나 C\#자 체 는 INI 파일 을 읽 고 쓰 는 API 가 없 으 며,시스템 자체 API 를 호출 하 는 방식 으로 만 필요 한 목적 을 달성 할 수 있다.
읽 기와 쓰기 에 대응 하 는 방법 은 GetPrivate Profilestring 과 Write Private Profilestring 이다.
GetPrivate ProfileString 의 매개 변수:
lpAppName―section 의 이름
lpKeyName―key 의 이름
lpDefault―lpKeyName 을 찾 지 못 하면 이 값 을 lpReturned String 에 복사 합 니 다.
lpReturned String―결 과 를 되 돌려 주 는 값
nSize―lpReturned String 의 문자 길이
lpFileName―INI 파일 이름
Write PrivateProfilestring 의 매개 변수:
lpAppName―section 의 이름
lpKeyName―key 의 이름
lpString―lpKeyName 에 대응 하 는 값
lpFileName―INI 파일 이름
실제 코드 는 다음 과 같다.
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace INIDemo
{
class Program
{
static void Main(string[] args)
{
WritePrivateProfileString("Demo", "abc", "123", "c:\\demo.ini");
StringBuilder temp = new StringBuilder();
GetPrivateProfileString("Demo", "abc", "", temp, 255, "c:\\demo.ini");
Console.WriteLine(temp);
Console.ReadLine();
}
[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern bool WritePrivateProfileString(
string lpAppName, string lpKeyName, string lpString, string lpFileName);
[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern int GetPrivateProfileString(
string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString,
int nSize, string lpFileName);
}
}
프로그램 이 실 행 된 후 INI 파일 의 내용 은 다음 과 같 습 니 다.
[Demo]
abc=123
이것 은 상대 적 으로 간단 한 방법 이다.만약 비 위탁 관리 방법 을 사용 하고 싶 지 않다 면,너 도 다른 비교적 번 거 로 운 경 로 를 통 해 이 문 제 를 해결 할 수 있다.구현 코드 2,
public class Ini
{
// INI WritePrivateProfileString()
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
// INI GetPrivateProfileString()
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath);
private string sPath = null;
public Ini(string path)
{
this.sPath = path;
}
public void Writue(string section, string key, string value)
{
// section= ,key= ,value= ,path=
WritePrivateProfileString(section, key, value, sPath);
}
public string ReadValue(string section, string key)
{
// ini
System.Text.StringBuilder temp = new System.Text.StringBuilder(255);
// section= ,key= ,temp= ,path=
GetPrivateProfileString(section, key, "", temp, 255, sPath);
return temp.ToString();
}
}
INI 파일 의 형식 이 고정 되 어 있 기 때문에 해당 해석 프로그램 을 작성 하면 같은 읽 기와 쓰기 기능 을 수행 할 수 있 습 니 다.일반적인 문자열 처리 일 뿐 입 니 다.만약 당신 이 직접 손 을 쓰 고 싶 지 않다 면,괜 찮 습 니 다.이미 만들어 진 절차 인 Cinchoo framework 가 있 습 니 다.당신 이 하고 싶 은 일 을 실현 할 수 있 습 니 다.
그리고 모든 것 이 다시 쉬 워 졌 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
delphi 에서 INI 파일 을 만 들 고 읽 고 저장 하 는 방법<3>.INI 파일 에서 문자열 var strResult:pchar 가 져 오기; begin GetPrivateProfileString( ´windows´, // []제목 // =외 외 외 외 외 외 외 외 외 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.