<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5</id>
	<title>Ini 파일 읽어서 2차원 배열로 저장 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&amp;action=history"/>
	<updated>2026-05-17T10:51:16Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&amp;diff=2251&amp;oldid=prev</id>
		<title>Devcafe: Devcafe님이 Ini 파일 읽어서 2처원 배열로 저장 문서를 Ini 파일 읽어서 2차원 배열로 저장 문서로 이동했습니다</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&amp;diff=2251&amp;oldid=prev"/>
		<updated>2025-07-28T05:20:50Z</updated>

		<summary type="html">&lt;p&gt;Devcafe님이 &lt;a href=&quot;/w/Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B2%98%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&quot; class=&quot;mw-redirect&quot; title=&quot;Ini 파일 읽어서 2처원 배열로 저장&quot;&gt;Ini 파일 읽어서 2처원 배열로 저장&lt;/a&gt; 문서를 &lt;a href=&quot;/w/Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&quot; title=&quot;Ini 파일 읽어서 2차원 배열로 저장&quot;&gt;Ini 파일 읽어서 2차원 배열로 저장&lt;/a&gt; 문서로 이동했습니다&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 7월 28일 (월) 14:20 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ko&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(차이 없음)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&amp;diff=2196&amp;oldid=prev</id>
		<title>Devcafe: /* = 개선 사항 */</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&amp;diff=2196&amp;oldid=prev"/>
		<updated>2025-07-23T09:42:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;= 개선 사항&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025년 7월 23일 (수) 18:42 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l116&quot;&gt;116번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;116번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * For $i = 1 To UBound($aResult) - 1 루프를 사용하여 배열 내용을 순회하며 출력합니다. 배열의 0번째 인덱스는 초기 선언 시의 빈 값이므로 1부터 시작하는 것이 일반적입니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    * For $i = 1 To UBound($aResult) - 1 루프를 사용하여 배열 내용을 순회하며 출력합니다. 배열의 0번째 인덱스는 초기 선언 시의 빈 값이므로 1부터 시작하는 것이 일반적입니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 개선 사항 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 개선 사항 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 값도 포함: 만약 키뿐만 아니라 해당 키의 값도 2차원 배열에 저장하고 싶다면, 배열의 차원을 3으로 늘려 $aIniData[$iIndex][2]에 값을 저장하거나, 또는 섹션과 키를 포함하는 새로운 UDT (User Defined Type)를 정의하여 배열에 저장하는 방법도 고려할 수 있습니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 값도 포함: 만약 키뿐만 아니라 해당 키의 값도 2차원 배열에 저장하고 싶다면, 배열의 차원을 3으로 늘려 $aIniData[$iIndex][2]에 값을 저장하거나, 또는 섹션과 키를 포함하는 새로운 UDT (User Defined Type)를 정의하여 배열에 저장하는 방법도 고려할 수 있습니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 빈 라인 또는 주석 처리: 현재 코드는 빈 라인이나 ;으로 시작하는 주석 라인을 자동으로 건너뛰므로 특별히 처리할 필요는 없습니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 빈 라인 또는 주석 처리: 현재 코드는 빈 라인이나 ;으로 시작하는 주석 라인을 자동으로 건너뛰므로 특별히 처리할 필요는 없습니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 오류 처리 강화: 파일 열기 실패, 읽기 실패 등 추가적인 오류 처리를 할 수 있습니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 오류 처리 강화: 파일 열기 실패, 읽기 실패 등 추가적인 오류 처리를 할 수 있습니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;이 코드는 AutoIt에서 INI 파일의 섹션과 키를 효율적으로 2차원 배열로 구성하는 방법을 제공합니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;이 코드는 AutoIt에서 INI 파일의 섹션과 키를 효율적으로 2차원 배열로 구성하는 방법을 제공합니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:autoit]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:autoit]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&amp;diff=2195&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: == Ini 파일 읽어서 2차원 배열로 저장 == * AutoIt에서 INI 파일을 읽어서 섹션과 키를 포함하는 2차원 배열을 만드는 방법 &lt;source lang=autoit&gt; #include &lt;Array.au3&gt; ; 배열 관련 함수  Func _ReadIniToArray($sFilePath)     Local $aIniData[1][2] ; 초기 2차원 배열 선언 (나중에 ReDim으로 확장)                           ; $aIniData[0][0] = 섹션, $aIniData[0][1] = 키 (샘플 초기값)     Local $iIndex = 0      If Not FileExists(...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=Ini_%ED%8C%8C%EC%9D%BC_%EC%9D%BD%EC%96%B4%EC%84%9C_2%EC%B0%A8%EC%9B%90_%EB%B0%B0%EC%97%B4%EB%A1%9C_%EC%A0%80%EC%9E%A5&amp;diff=2195&amp;oldid=prev"/>
		<updated>2025-07-23T09:42:09Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == Ini 파일 읽어서 2차원 배열로 저장 == * AutoIt에서 INI 파일을 읽어서 섹션과 키를 포함하는 2차원 배열을 만드는 방법 &amp;lt;source lang=autoit&amp;gt; #include &amp;lt;Array.au3&amp;gt; ; 배열 관련 함수  Func _ReadIniToArray($sFilePath)     Local $aIniData[1][2] ; 초기 2차원 배열 선언 (나중에 ReDim으로 확장)                           ; $aIniData[0][0] = 섹션, $aIniData[0][1] = 키 (샘플 초기값)     Local $iIndex = 0      If Not FileExists(...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Ini 파일 읽어서 2차원 배열로 저장 ==&lt;br /&gt;
* AutoIt에서 INI 파일을 읽어서 섹션과 키를 포함하는 2차원 배열을 만드는 방법&lt;br /&gt;
&amp;lt;source lang=autoit&amp;gt;&lt;br /&gt;
#include &amp;lt;Array.au3&amp;gt; ; 배열 관련 함수&lt;br /&gt;
&lt;br /&gt;
Func _ReadIniToArray($sFilePath)&lt;br /&gt;
    Local $aIniData[1][2] ; 초기 2차원 배열 선언 (나중에 ReDim으로 확장)&lt;br /&gt;
                          ; $aIniData[0][0] = 섹션, $aIniData[0][1] = 키 (샘플 초기값)&lt;br /&gt;
    Local $iIndex = 0&lt;br /&gt;
&lt;br /&gt;
    If Not FileExists($sFilePath) Then&lt;br /&gt;
        ConsoleWrite(&amp;quot;오류: &amp;#039;&amp;quot; &amp;amp; $sFilePath &amp;amp; &amp;quot;&amp;#039; 파일을 찾을 수 없습니다.&amp;quot; &amp;amp; @CRLF)&lt;br /&gt;
        Return SetError(1, 0, &amp;quot;&amp;quot;)&lt;br /&gt;
    EndIf&lt;br /&gt;
&lt;br /&gt;
    ; INI 파일을 한 줄씩 읽습니다.&lt;br /&gt;
    Local $hFile = FileOpen($sFilePath, 0) ; 0 = 읽기 모드&lt;br /&gt;
    If $hFile = -1 Then&lt;br /&gt;
        ConsoleWrite(&amp;quot;오류: &amp;#039;&amp;quot; &amp;amp; $sFilePath &amp;amp; &amp;quot;&amp;#039; 파일을 열 수 없습니다.&amp;quot; &amp;amp; @CRLF)&lt;br /&gt;
        Return SetError(2, 0, &amp;quot;&amp;quot;)&lt;br /&gt;
    EndIf&lt;br /&gt;
&lt;br /&gt;
    Local $sCurrentSection = &amp;quot;&amp;quot;&lt;br /&gt;
    While Not FileReadEOF($hFile)&lt;br /&gt;
        Local $sLine = StringStripWS(FileReadLine($hFile), 3) ; 공백 제거&lt;br /&gt;
&lt;br /&gt;
        If StringLeft($sLine, 1) = &amp;quot;[&amp;quot; And StringRight($sLine, 1) = &amp;quot;]&amp;quot; Then&lt;br /&gt;
            ; 섹션 발견&lt;br /&gt;
            $sCurrentSection = StringMid($sLine, 2, StringLen($sLine) - 2)&lt;br /&gt;
            $iIndex += 1&lt;br /&gt;
            ReDim $aIniData[$iIndex + 1][2] ; 배열 크기 확장&lt;br /&gt;
            $aIniData[$iIndex][0] = $sCurrentSection&lt;br /&gt;
            $aIniData[$iIndex][1] = &amp;quot;&amp;quot; ; 섹션만 있는 경우 키는 비워둡니다.&lt;br /&gt;
        ElseIf StringInStr($sLine, &amp;quot;=&amp;quot;) Then&lt;br /&gt;
            ; 키-값 쌍 발견&lt;br /&gt;
            If $sCurrentSection &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
                Local $aKeyValue = StringSplit($sLine, &amp;quot;=&amp;quot;, 2) ; 2 = 빈 문자열 포함 안함&lt;br /&gt;
                If UBound($aKeyValue) = 2 Then&lt;br /&gt;
                    $iIndex += 1&lt;br /&gt;
                    ReDim $aIniData[$iIndex + 1][2] ; 배열 크기 확장&lt;br /&gt;
                    $aIniData[$iIndex][0] = $sCurrentSection&lt;br /&gt;
                    $aIniData[$iIndex][1] = $aKeyValue[1]&lt;br /&gt;
                    ; Note: 값을 포함하려면 $aIniData[$iIndex][2]에 저장하거나&lt;br /&gt;
                    ; 배열의 차원을 3으로 확장해야 합니다.&lt;br /&gt;
                    ; 이 예제에서는 섹션과 키만 저장합니다.&lt;br /&gt;
                EndIf&lt;br /&gt;
            EndIf&lt;br /&gt;
        EndIf&lt;br /&gt;
    Wend&lt;br /&gt;
    FileClose($hFile)&lt;br /&gt;
&lt;br /&gt;
    ; 첫 번째 (0번째) 행은 빈 초기값이므로 제거하거나 조정합니다.&lt;br /&gt;
    ; 여기서는 1부터 유효한 데이터가 시작한다고 가정합니다.&lt;br /&gt;
    ; 만약 0부터 유효한 데이터를 시작하려면 $aIniData[0][0], $aIniData[0][1]부터 채우면 됩니다.&lt;br /&gt;
    ; 이 예제에서는 유효한 데이터를 $aIniData[1][...] 부터 저장합니다.&lt;br /&gt;
    ; 실제 데이터는 1부터 $iIndex까지입니다.&lt;br /&gt;
&lt;br /&gt;
    ; 필요에 따라 배열의 크기를 조정합니다.&lt;br /&gt;
    ReDim $aIniData[$iIndex + 1][2] ; 실제 데이터가 있는 부분까지만 재조정 (선택 사항)&lt;br /&gt;
&lt;br /&gt;
    Return $aIniData&lt;br /&gt;
EndFunc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== 사용 예제 ===&lt;br /&gt;
&amp;lt;source lang=autoit&amp;gt;&lt;br /&gt;
; 테스트용 INI 파일 생성 (실제 파일로 대체 가능)&lt;br /&gt;
Local $sIniFile = @ScriptDir &amp;amp; &amp;quot;\MySettings.ini&amp;quot;&lt;br /&gt;
Local $sContent = &amp;quot;[General]&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
                  &amp;quot;Name=AutoIt&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
                  &amp;quot;Version=3.3&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
                  &amp;quot;&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
                  &amp;quot;[Network]&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
                  &amp;quot;IPAddress=192.168.1.1&amp;quot; &amp;amp; @CRLF &amp;amp; _&lt;br /&gt;
                  &amp;quot;Port=8080&amp;quot; &amp;amp; @CRLF&lt;br /&gt;
&lt;br /&gt;
FileDelete($sIniFile) ; 기존 파일 삭제 (테스트용)&lt;br /&gt;
FileWrite($sIniFile, $sContent)&lt;br /&gt;
&lt;br /&gt;
Local $aResult = _ReadIniToArray($sIniFile)&lt;br /&gt;
&lt;br /&gt;
If @error = 0 Then&lt;br /&gt;
    ConsoleWrite(&amp;quot;INI 파일 읽기 성공!&amp;quot; &amp;amp; @CRLF)&lt;br /&gt;
    ; 배열 내용 출력&lt;br /&gt;
    For $i = 1 To UBound($aResult) - 1 ; 1부터 유효한 데이터 시작&lt;br /&gt;
        ConsoleWrite(&amp;quot;섹션: &amp;quot; &amp;amp; $aResult[$i][0] &amp;amp; &amp;quot;, 키: &amp;quot; &amp;amp; $aResult[$i][1] &amp;amp; @CRLF)&lt;br /&gt;
    Next&lt;br /&gt;
Else&lt;br /&gt;
    ConsoleWrite(&amp;quot;INI 파일 읽기 실패. 오류 코드: &amp;quot; &amp;amp; @error &amp;amp; @CRLF)&lt;br /&gt;
EndIf&lt;br /&gt;
&lt;br /&gt;
; 테스트용 INI 파일 삭제 (선택 사항)&lt;br /&gt;
; FileDelete($sIniFile)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 설명 ===&lt;br /&gt;
# _ReadIniToArray($sFilePath) 함수:&lt;br /&gt;
## 이 함수는 INI 파일 경로를 인자로 받아 2차원 배열을 반환합니다.&lt;br /&gt;
## Local $aIniData[1][2]로 초기 배열을 선언합니다. ReDim을 사용하여 필요한 만큼 동적으로 크기를 확장할 것입니다.&lt;br /&gt;
## FileExists($sFilePath)로 파일 존재 여부를 확인합니다.&lt;br /&gt;
## FileOpen($sFilePath, 0)으로 파일을 읽기 모드로 엽니다.&lt;br /&gt;
## While Not FileReadEOF($hFile) 루프를 사용하여 파일을 한 줄씩 읽습니다.&lt;br /&gt;
## StringStripWS($sLine, 3)를 사용하여 각 줄의 앞뒤 공백을 제거합니다.&lt;br /&gt;
# 섹션 처리:&lt;br /&gt;
## If StringLeft($sLine, 1) = &amp;quot;[&amp;quot; And StringRight($sLine, 1) = &amp;quot;]&amp;quot; Then 조건으로 줄이 섹션인지 확인합니다.&lt;br /&gt;
## 섹션이면 StringMid($sLine, 2, StringLen($sLine) - 2)를 사용하여 대괄호를 제거하고 섹션 이름을 추출합니다.&lt;br /&gt;
* ReDim $aIniData[$iIndex + 1][2]를 사용하여 배열의 행을 하나 확장하고, $aIniData[$iIndex][0]에 섹션 이름을 저장합니다. $aIniData[$iIndex][1]은 섹션만 있는 경우를 위해 비워둡니다.&lt;br /&gt;
 * 키-값 쌍 처리:&lt;br /&gt;
   * ElseIf StringInStr($sLine, &amp;quot;=&amp;quot;) 조건으로 줄이 키-값 쌍인지 확인합니다.&lt;br /&gt;
   * StringSplit($sLine, &amp;quot;=&amp;quot;, 2)를 사용하여 키와 값을 분리합니다. 2는 빈 문자열을 포함하지 않도록 합니다.&lt;br /&gt;
   * UBound($aKeyValue) = 2를 확인하여 키와 값이 모두 제대로 분리되었는지 확인합니다.&lt;br /&gt;
   * ReDim $aIniData[$iIndex + 1][2]로 배열을 확장하고, $aIniData[$iIndex][0]에 현재 섹션 이름, $aIniData[$iIndex][1]에 키 이름을 저장합니다.&lt;br /&gt;
   * 주의: 이 예제에서는 키만 2차원 배열에 저장하고 있습니다. 만약 값도 저장하고 싶다면 배열의 차원을 3으로 확장하거나, 값을 저장할 다른 방법을 고려해야 합니다 (예: _ReadIniToArray 함수 내에서 섹션-키-값 매핑을 위한 맵 또는 연관 배열 사용).&lt;br /&gt;
 * 배열 반환 및 사용 예제:&lt;br /&gt;
   * 함수는 최종적으로 채워진 2차원 배열 $aIniData를 반환합니다.&lt;br /&gt;
   * 사용 예제에서는 임시 INI 파일을 생성하여 함수를 테스트하고 결과를 콘솔에 출력합니다.&lt;br /&gt;
   * For $i = 1 To UBound($aResult) - 1 루프를 사용하여 배열 내용을 순회하며 출력합니다. 배열의 0번째 인덱스는 초기 선언 시의 빈 값이므로 1부터 시작하는 것이 일반적입니다.&lt;br /&gt;
&lt;br /&gt;
=== 개선 사항 ==&lt;br /&gt;
# 값도 포함: 만약 키뿐만 아니라 해당 키의 값도 2차원 배열에 저장하고 싶다면, 배열의 차원을 3으로 늘려 $aIniData[$iIndex][2]에 값을 저장하거나, 또는 섹션과 키를 포함하는 새로운 UDT (User Defined Type)를 정의하여 배열에 저장하는 방법도 고려할 수 있습니다.&lt;br /&gt;
# 빈 라인 또는 주석 처리: 현재 코드는 빈 라인이나 ;으로 시작하는 주석 라인을 자동으로 건너뛰므로 특별히 처리할 필요는 없습니다.&lt;br /&gt;
# 오류 처리 강화: 파일 열기 실패, 읽기 실패 등 추가적인 오류 처리를 할 수 있습니다.&lt;br /&gt;
이 코드는 AutoIt에서 INI 파일의 섹션과 키를 효율적으로 2차원 배열로 구성하는 방법을 제공합니다.&lt;br /&gt;
[[category:autoit]]&lt;/div&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
</feed>