<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4564488215411057310</id><updated>2026-08-21T18:27:46.115+09:00</updated><category term="C/C++"/><category term="VIsual Studio"/><category term="MFC"/><category term="Window"/><category term="Android Develop"/><category term="Eclipse Java"/><category term="Java"/><category term="XCode"/><category term="WIndows 10"/><category term="C++"/><category term="Objective-C"/><category term="STL"/><category term="iPhone"/><category term="Android Studio"/><category term="JavaScript"/><category term="Ubuntu"/><category term="Visual Studio 2012"/><category term="Visual Studio Code"/><category term="Lua"/><category term="iOS"/><category term="C#"/><category term="Linux"/><category term="Mac"/><category term="OSX"/><category term="iPad"/><category term="Eclipse PHP"/><category term="MacBook"/><category term="PHP"/><category term="Windows Server"/><category term="BDRouter.Window.Client"/><category term="Device"/><category term="Disk Manage"/><category term="File"/><category term="Flask"/><category term="Korean"/><category term="Python"/><category term="SFTP"/><category term="Search"/><category term="VMWare"/><category term="Windows Edge"/><category term="bitcoin"/><category term="box sync"/><category term="power point"/><category term="youtube"/><title type='text'>Develop my life &amp;amp; Enjoy my life</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>131</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-3879526000484882572</id><published>2025-01-28T07:43:00.001+09:00</published><updated>2025-01-28T07:43:14.489+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Flask"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Flask 설치에러</title><content type='html'>&lt;p&gt;&amp;nbsp;Ubuntu 22.04  에서 24.04 로 업그레이드후에 잘 돌아가던 python 프로그램이 돌아가지 않았다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-aa333815-9ad4-4ec3-97f8-060ad4465422&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-71d33d3e-0295-4117-8fe1-8e67c991f928&quot;&gt;직접 실행을 해보니&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-560cc17b-5d4f-417d-b046-26e153a4fedb&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-b21a6ac4-9f08-4a4d-9cf7-7c24ac7f9b5d&quot;&gt;Flask 모듈을 찾을수가 없었다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1432124f-3f66-4896-90a6-43972b4eb7a1&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c891e162-ad58-4303-8a35-c01588a2d590&quot;&gt;다시 설치를 진행하니 아래와 같은 오류가 발생을 했다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1dc48ff0-dd1a-444a-bc71-1ea8d7331eb5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ca2f4264-7dfa-4961-9321-8402a673a859&quot; style=&quot;color: #ff0010;&quot;&gt;error: externally-managed-environment&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1dc48ff0-dd1a-444a-bc71-1ea8d7331eb5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; style=&quot;color: #ff0010;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRGgJsikP_UoZYJFL_dZGNt9aSTOzh5ImDaIQdwtmoQtYQCO-EeFLWUjrz7L8cNtGIOYvBr0FNPXiWGzneVawHBoQHJ-K-SJUaJW-uFJpU4ppSScFbVQTbiJmv1M7XR1OEk3PEPQmDJLMNjHPmvChP8rpvgmC2BQHS-2lQ8loIKPcwb52hJ9B2fI4FvOA/s624/image.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;279&quot; data-original-width=&quot;624&quot; height=&quot;290&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRGgJsikP_UoZYJFL_dZGNt9aSTOzh5ImDaIQdwtmoQtYQCO-EeFLWUjrz7L8cNtGIOYvBr0FNPXiWGzneVawHBoQHJ-K-SJUaJW-uFJpU4ppSScFbVQTbiJmv1M7XR1OEk3PEPQmDJLMNjHPmvChP8rpvgmC2BQHS-2lQ8loIKPcwb52hJ9B2fI4FvOA/w651-h290/image.png&quot; width=&quot;651&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-0f9cbc91-f281-4dff-8381-d6358f0ed032&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0bb82514-de51-4185-bb62-9b5e011cf0b2&quot;&gt;리눅스 O/S 의존적인 문제라고 써있긴 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-961eb8cb-164f-4f21-af16-93cf6b9958ad&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-3b93ef74-9bf6-45aa-b413-4d41da8268c7&quot;&gt;하지만 이렇게만 해주면 해결을 하라는 건지 ㅡㅡ.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-dfc96650-f54d-458c-9037-222bd0efd66d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c5bf8c0f-df9a-4142-941a-f21d93e0decf&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-62280bd5-a8af-48d6-a6ab-794d3e14c1d0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-f6d5b250-72b2-4eb4-ba78-f8a558b21fe5&quot;&gt;아래와 같이 설치 모듈을 글로벌로 처리 할수 있게 pip 환경설정 파일 을 변경 합니다.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;python3 -m pip config &lt;span style=&quot;color: #007020;&quot;&gt;set &lt;/span&gt;global.break-system-packages &lt;span style=&quot;color: #007020;&quot;&gt;true&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-ce5d5c1f-ac36-4b4d-b9ff-779ec4503411&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c247a283-eecb-4d04-990b-84bc30ba36a6&quot;&gt;명령어를 입력하고 나면 Writing 되었다는 메세지가 나올거고 다시 기존에 설치 했던것들을 설치하고&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-85beabae-b86d-4d9d-82a9-a8ce4874f0cf&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-eb9b00fc-70d1-4781-b72b-36cc5f941d27&quot;&gt;python  프로그램을 실행하면 정상 실행 될겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-2665747b-d992-4fe7-a8c9-b783f532f34e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-741f709c-6c64-4007-a139-66c6ede0a009&quot;&gt;그럼~~&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1; zoom: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/3879526000484882572/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/3879526000484882572' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3879526000484882572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3879526000484882572'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2025/01/flask.html' title='Flask 설치에러'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRGgJsikP_UoZYJFL_dZGNt9aSTOzh5ImDaIQdwtmoQtYQCO-EeFLWUjrz7L8cNtGIOYvBr0FNPXiWGzneVawHBoQHJ-K-SJUaJW-uFJpU4ppSScFbVQTbiJmv1M7XR1OEk3PEPQmDJLMNjHPmvChP8rpvgmC2BQHS-2lQ8loIKPcwb52hJ9B2fI4FvOA/s72-w651-h290-c/image.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-209577758085098007</id><published>2025-01-28T07:37:00.008+09:00</published><updated>2025-01-28T07:37:52.828+09:00</updated><title type='text'>Visual Studio 2013 로그인 안될때</title><content type='html'>&lt;p&gt;&amp;nbsp;10년도 더된 Visual Studio 2013을 아직까지 쓰고 있습니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-0f86c23c-085a-47fe-83fe-cebe01e49469&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-07fcd956-3abe-4056-9d31-00185b9e5d06&quot;&gt;하지만 새로 설치 할때 로그인이 안되거나 Community 버젼 라이센스 업데이트가 안될경우 아래 와 같이&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4c59c0ba-ddf5-4553-ad08-6308fee5ccfd&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-59cee0b5-9f33-4507-93c3-2c96a36c0096&quot;&gt;입력하여 해결이 가능합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-9d7f155d-240f-493e-90c1-39814ea60bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a4bedbe8-6fc2-400a-afb1-866fcd591d74&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-ff65f59a-5c12-48c6-aa64-a260ce189b4c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-98bf46a1-64cb-4314-a872-f8d7e16f5208&quot;&gt;PowerShell 을 관리자 권한으로 엽니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-fd25943b-cf72-4de6-9525-eaddf6ed8dea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-f0409033-1877-4ff5-89c4-c211947e7681&quot;&gt;그리고 아래 내용을 복사 하여 실행합니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1; zoom: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(255, 255, 255); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #007020;&quot;&gt;New-ItemProperty&lt;/span&gt; -path &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319&#39;&lt;/span&gt; -name &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;SchUseStrongCrypto&#39;&lt;/span&gt; -value &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;1&#39;&lt;/span&gt; -PropertyType &lt;span style=&quot;background-color: #fff0f0;&quot;&gt;&#39;DWord&#39;&lt;/span&gt; -Force | &lt;span style=&quot;color: #007020;&quot;&gt;Out-Null&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-b93d8f38-80fa-411d-9740-ebfd5e9b6984&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-9bb61f2c-e97a-4783-82b8-f472df1a5801&quot;&gt;Visual Studio 2013을 다시 실행합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-18ea4f8f-e587-4d9d-9c5b-772ac33c300c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-104cb36f-ba73-45b6-88a9-376a4785209e&quot;&gt;버젼 업데이트 및 로그인을 실행하시면 정상 동작 할겁니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1; zoom: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/209577758085098007/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/209577758085098007' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/209577758085098007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/209577758085098007'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2025/01/visual-studio-2013.html' title='Visual Studio 2013 로그인 안될때'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-3222852634205201209</id><published>2025-01-28T07:34:00.007+09:00</published><updated>2025-01-28T07:34:45.272+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><title type='text'>Visual Studio C++ Resource View Blank(비어 있을때)</title><content type='html'>&lt;p&gt;&amp;nbsp;안녕하세요&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5b55a733-d51b-4b77-81e0-d60c540d35a5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-30d57e46-5957-4a34-8207-7dd079c52490&quot;&gt;Visaul Studio Studio 버젼별 사용하다 설치를 새로 했을때&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1576804a-81ac-4505-9e30-48b5a28dc7c5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-a1d1a927-a40d-4d76-bc71-2d127bb0e6d0&quot;&gt;C++ 프로젝트의 경우 리소스 뷰(Resource View) 가 안나올때가 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-9dc93192-0e50-4a66-9788-77748971ca9d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-a3dcbff5-5b91-4c4c-9c1d-fd106cb0a074&quot;&gt;그때 아래 경로에서 옵션을 확인 합니다.(영문버젼 기준)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-797db867-268d-434f-9219-aa6b809dee06&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c0c5475e-d754-46f6-9b4c-729ada35d781&quot;&gt;Tools -&amp;gt; Options -&amp;gt; Text Editor -&amp;gt; C++ -&amp;gt; Advanced 항목중에&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-600b9647-bd6b-4d28-89d8-c5ff38370ffe&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-7a88653e-a0a5-4cc3-9a57-901dd3f05eba&quot;&gt;&quot;Disable Database&quot; 항목이 False 값을 가지고 있어야 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-23fa83fc-5e89-49ab-ae77-f3a5fab878ae&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-4b573948-8650-4aff-9688-ce21942bdf30&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-e6573da4-b4fe-4104-9b70-1a966e98a026&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-beef8179-c9fb-4ffb-9146-5770aecee187&quot;&gt;항목을 값을 변경하시고 다시 보면 잘 나올겁니다. 그럼~&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1; zoom: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/3222852634205201209/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/3222852634205201209' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3222852634205201209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3222852634205201209'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2025/01/visual-studio-c-resource-view-blank.html' title='Visual Studio C++ Resource View Blank(비어 있을때)'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-1407154902104833921</id><published>2025-01-28T07:33:00.006+09:00</published><updated>2025-01-28T07:33:46.567+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><title type='text'>Visual Studio Resource 영문 입력 간격 오류</title><content type='html'>&lt;p&gt;&amp;nbsp;안녕하세요&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-68d22f79-709b-40f7-86f6-7560206715eb&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-28975e14-f500-4d26-86e7-be1e1cf0e505&quot;&gt;오늘은 개발을 하다가 원치 않은 결과가 발생을 하여 당황할일이 있고 그에 대한 해결책중 하나 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-e39a1f86-68e4-4514-baca-76c7297344ae&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-99901853-18d4-42c8-96cc-ad582c311623&quot;&gt;Visaul Studio Resource 입력창에서 영문 입력하다가 영어 문자 사이 간격이 UniCode 입력하는것처럼 벌어지는 경우가 발생합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-9a7aaa9b-cb5d-443c-990b-bb74d2de6123&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-a207f091-3f06-4e4c-8acd-0c21cffc1355&quot;&gt;이때 당황 하지 마시고 &quot;Alt&quot; + &quot;= &quot; 이 조합키를 누르시면 다시 정상적으로 돌아갑니다. ^^&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1; zoom: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/1407154902104833921/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/1407154902104833921' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/1407154902104833921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/1407154902104833921'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2025/01/visual-studio-resource.html' title='Visual Studio Resource 영문 입력 간격 오류'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-7645864846219522657</id><published>2022-12-17T11:01:00.002+09:00</published><updated>2022-12-17T11:01:11.219+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Develop"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Java LTrim RTrim 처리 방법</title><content type='html'>&lt;p&gt;&amp;nbsp;Java 언어는 많은 지원  함수를 제공합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-d1e971b9-f4f7-4752-b9a7-8f51c7a9405d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-7795c255-ae6e-4ba0-9aa6-6542cd9a0ac4&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b411fc29-b229-4539-bf34-3b147cdf522f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-61ce870f-ffb5-4558-be76-1257a153d3d8&quot;&gt;그런데 trim 함수는 전체 trim 함수 밖에 제공을 안하네요&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a6f95159-4637-490b-ac78-e46b0a353e8e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-17e844fd-1750-41e3-90f6-6614e8de5fb1&quot;&gt;해서 LeftTrim 만 또는 RightTrim만 처리 하는 방법을 알아 보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-d97cbd8c-aea5-47ec-b6d9-66e053cc854a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-68fb2d41-ab5e-417e-b152-74d9190cc602&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-41a64147-ea53-4004-b7a0-f37a9f13b710&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-4fb36cde-4399-4e82-80ea-43a845a0a814&quot;&gt;&amp;lt;처리방법 1&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-2c035de8-73ef-4d79-8732-473b7f83f3e5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-caace92a-4432-47f9-b79e-dd40bfa6e7be&quot;&gt;문자열을 뒤에서 부터 또는 앞에서 부터 공백을 찾아 지우는 방법입니다.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;//Left Trim&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot; Left Trim&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;()&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Character&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;isWhitespace&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;charAt&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)))&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++;&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLResult&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;substring&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;format&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Left Trim [%s] ==&amp;gt; [%s]&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLResult&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;));&lt;/span&gt;

&lt;span style=&quot;color: #75715e;&quot;&gt;//Right Trim&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Right Trim &quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;()&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;()&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Character&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;isWhitespace&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;charAt&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)))&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;--;&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRResult&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;substring&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;format&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Right Trim [%s] ==&amp;gt; [%s]&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRResult&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;));&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b527bdf7-f2a7-4b96-9f83-613bac35a8b4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ed8b2224-747c-4302-80ee-9ac0b96f1153&quot;&gt;&amp;lt;처리방법 2&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-00749c4e-d0ff-4dde-a69c-54001ca7f3bf&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-6497f20e-1d22-430e-b596-db18b7a851cf&quot;&gt;regex 를 이용하여 전체 바꾸는 방법입니다.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot; Left Trim&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Right Trim&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLResult&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;replaceAll&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;^\\s+&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRResult&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;replaceAll&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;\\s+$&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;format&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Left Trim [%s] ==&amp;gt; [%s]&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sLResult&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;));&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;format&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Right Trim [%s] ==&amp;gt; [%s]&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRTemp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sRResult&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;));&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-105b063c-9b0e-4d00-8f06-df6321c17e65&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-d701104e-6b3c-46b5-959f-5a8826a2067a&quot;&gt;그외에도 다른 방법(Pattern 등)을 사용할수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-326a2ec2-1292-43fc-8713-aaff0b361e36&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-130eabad-ac29-4c51-a24f-25c241a91dcf&quot;&gt;그럼 ^^&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/7645864846219522657/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/7645864846219522657' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7645864846219522657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7645864846219522657'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/12/java-ltrim-rtrim.html' title='Java LTrim RTrim 처리 방법'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-6671731036934413185</id><published>2022-08-27T11:01:00.003+09:00</published><updated>2022-08-27T11:01:29.748+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Develop"/><category scheme="http://www.blogger.com/atom/ns#" term="Android Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Android 절전모드 사용 체크</title><content type='html'>&lt;p&gt;&amp;nbsp;Android 폰을 절전모드를 기본을 사용하는 폰을 위해 체크 하는 코드를 가이드 합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e56ba11-1358-4abf-87b6-bd3c3e8490b5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0f501b60-ec5b-49b4-8900-093e9f0e4714&quot;&gt;절전모드를 쓰는 폰들은 앱이 백그라운드로 내려갈때 일부 자원(네트워크 등)이 바로 다시 회수 되지 않기 떄문에&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b135f472-6c17-4887-a4f1-17e1a6052fff&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-f50219ab-7e83-4227-917a-602be1379633&quot;&gt;문제가 발생할 소지가 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a8883711-75fa-489d-b6dc-13453c1c5b7f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-58301d38-3746-47b0-92e4-71c92243396c&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-9a5f9e70-c1bd-420e-bcae-c58e4b69d3cf&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-7f0aaa4a-dceb-4572-a331-0f900c3945ef&quot;&gt;그에 따른 적절한 조치를 하기 위해서는 해당 모드를 쓰고 있는지 체크 하고 그것에 따른 예외 처리를 추가 해야 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-9a5f9e70-c1bd-420e-bcae-c58e4b69d3cf&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;PowerManager&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;oPM&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;PowerManager&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;getSystemService&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Context&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;POWER_SERVICE&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;oPM&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
	&lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Build&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;VERSION&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;SDK_INT&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Build&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;VERSION_CODES&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;LOLLIPOP&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;oPM&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;isPowerSaveMode&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;())&lt;/span&gt;
	&lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
		&lt;span style=&quot;color: #75715e;&quot;&gt;//절전모드 사용.&lt;/span&gt;
	&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;

그럼 ^^
</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/6671731036934413185/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/6671731036934413185' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6671731036934413185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6671731036934413185'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/08/android_27.html' title='Android 절전모드 사용 체크'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-6161782379590106348</id><published>2022-08-27T10:44:00.001+09:00</published><updated>2022-08-27T10:44:05.447+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Develop"/><category scheme="http://www.blogger.com/atom/ns#" term="Android Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Android 갤러리 이미지 가져오기</title><content type='html'>&lt;p&gt;&amp;nbsp;Android 앱 개발시 자신의 갤러리 이미지를 가져오는 기능을 개발하는 경우가 있습니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-0a3cd0ba-549e-46e3-85d5-f690ae1b1a79&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-07c18f43-39ec-42f2-a185-25ce469dc496&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c408179d-e569-4587-bcd1-938ba3e349e4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-e20265bb-d74e-4175-bc08-034fe9800d4e&quot;&gt;Android O/S 버젼이 올라가면서 접근 제한이 많이 일어나고 갤러리 프로그램도 로컬 방식이 아닌&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4bc48c9e-51e0-4ade-be68-d09cc214b840&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-99ee1eb9-7293-4525-8afc-d7d4a956642b&quot;&gt;클라우드 방식(구글포토) 을 쓰는것들도 있기 때문에 그것들에 대한 처리 가이드를 안내하려 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1b7dd1da-f547-41d4-8af0-d8eafe01a38b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-cf7fb601-6694-4a85-9484-fea0b342b72d&quot;&gt;코드는 Java로 구성 되어 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-ca495786-9392-434a-9190-bb7376079612&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-b25f4757-a751-4ecf-9c15-a7b90d33ebb8&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-05a12fc6-ed05-40bf-9b1c-d9c52dca7e76&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-fa1947b6-cab1-492a-818c-3b435c6249a6&quot;&gt;일단 Android 주 앱 소스에  AndroidManifest.xml 에 권한을 추가 합니다.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;uses-permission&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;android:name=&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;android.permission.READ_EXTERNAL_STORAGE&quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-77937fa4-fe35-42a3-82db-0470499552c2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a1f683a3-078c-4e9c-86cd-f0df77197c27&quot;&gt;갤러리 호출은 Intent 를 통해서 호출하여 가져 올수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-59227a5d-a717-42fb-a6b0-762c2ea4d47b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-798a22c4-4281-4f7a-b0a4-7df26172db66&quot;&gt;아래 코드를 Activity Content 를 통해서 호출 합니다.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Intent&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;i&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Intent&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Intent&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;ACTION_PICK&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;provider&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;MediaStore&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;Images&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;Media&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;EXTERNAL_CONTENT_URI&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
 &lt;span style=&quot;color: #f92672;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Activity&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;m_oContext&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;startActivityForResult&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-fa47b1a0-bdfa-4d9e-bf88-99351c3e4c89&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-b6c06068-4740-493f-a092-a3459e37be87&quot;&gt;startActivityForResult 호출시 두번째 인자는 호출후 돌려받는 리턴 코드값입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-38a88bec-24d9-4864-87ca-f5790529a393&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-f1fbfde4-defb-47fb-bb5e-bfbddfe01b54&quot;&gt;편의상 1 로 설정 했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b89e3730-727e-4f79-8533-c7e599dfdef8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a5c02f77-29c4-41bb-9db7-b01c460b1bcc&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4e96b265-c387-46a2-aeac-dcaf4878a164&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-93ee2dd0-5a7e-4b4e-ae94-4daf3b5d681c&quot;&gt;갤러리 호출후 리턴받는 곳은 활성화된 Activity 에서 돌려 받아 처리 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-448b0e50-41ba-47c2-af1b-06eac9faf5c9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-750f2485-419e-4457-a98b-d56e7cb8645f&quot;&gt;코드는 아래와 같습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-448b0e50-41ba-47c2-af1b-06eac9faf5c9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;@Override&lt;/span&gt;
&lt;span style=&quot;color: #66d9ef;&quot;&gt;protected&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;onActivityResult&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nReqCode&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nRetCode&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;@Nullable&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Intent&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;super&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;onActivityResult&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nReqCode&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nRetCode&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;switch&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nReqCode&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;//Gallery&lt;/span&gt;
        &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nRetCode&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;RESULT_OK&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;data&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
            &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
                &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Bitmap&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bmImage&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
                &lt;span style=&quot;color: #66d9ef;&quot;&gt;try&lt;/span&gt;
                &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
                    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Uri&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;oSelectImg&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;getData&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;();&lt;/span&gt;
                    &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Build&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;VERSION&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;SDK_INT&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Build&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;VERSION_CODES&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
                    &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
                        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bmImage&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;MediaStore&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;Images&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;Media&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;getBitmap&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;getContentResolver&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;oSelectImg&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
                    &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
                    &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt;
                    &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
                        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;ImageDecoder&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;Source&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;oSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;ImageDecoder&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;createSource&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;getContentResolver&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;oSelectImg&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
                        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bmImage&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;ImageDecoder&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;decodeBitmap&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;oSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
                    &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;

                    &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;m_oTestMainView&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
                    &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
                        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;m_oTestMainView&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;m_oImgGallery&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;setImageBitmap&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;bmImage&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
                    &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
                &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
                &lt;span style=&quot;color: #66d9ef;&quot;&gt;catch&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Exception&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
                &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
                    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;printStackTrace&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;();&lt;/span&gt;
                &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
            &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
            &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nRetCode&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;RESULT_CANCELED&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
            &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
                &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Toast&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;makeText&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;사진 선택 취소&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;Toast&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;LENGTH_LONG&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;show&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;();&lt;/span&gt;
            &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
        &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e898be7-6fb2-458a-a1ef-13bbd6c52ff7&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-7d038ce2-9856-41ad-96c5-d1e31c2e0b73&quot;&gt;&quot;m_oTestMainView&quot; 는 별도로 구성된 LinearLayout 입니다. 그 안에 ImageVIew m_oImgGallery 를 만들어 놓고 불러들인 갤러리 이미지를 비트맵 으로 셋팅하면 이미지가 나옵니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e1a8474-46cb-46c6-a4e0-08edb83af8e2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ef3d6b17-894f-4525-b123-e3b244e6673b&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-42a1530f-b37e-40b3-abb5-ed74bf85d867&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1d73c111-2fa4-4497-948a-221a1bfc4098&quot;&gt;갤러리 이미지는 직접 Uri 경로로 접근해서 읽어 들일수도 있으나 위에서 언급한것처럼 클라우드 기반 갤러리는 경로를 가져올수 없습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4df77356-1bc0-42a0-a643-122d406d1a6f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-db37da1e-c915-4d94-9bc9-968862b61729&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-9151b2aa-e02d-4db3-bb45-d85ef2ab8e9d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1df4a0ae-8cc0-4724-9593-354279663a3f&quot;&gt;그래서 범용적으로 처리를 하시려면 Bitmap 을 자기 앱 경로에 직접 이미지 파일로 저장하여 처리 하는것을 권장합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-0d69cfe4-8ab9-40d9-bb8d-e099fba79da5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-5ee2a8dc-9a5d-4f3d-b9fd-2feb871d4e8b&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-afafb903-be09-4a2d-ad3b-79e7522a6ac4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-10034654-fb85-4936-9bcf-c6e310ec175e&quot;&gt;Bitmap 을 이미지 파일로 저장 하시려면&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-e3eb6f94-0879-4b0b-955f-298645c9c51d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-5d165bd0-ffa9-4cdd-8340-dd0449dfd38f&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-e4de97cd-9cfa-4330-acb6-78ac0e21286e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ff7a700b-f94b-41ee-812f-3cc945de5603&quot;&gt;저장할 File의 OutputStream 을 만들고 아래 코드를 호출하여 저장하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-e4de97cd-9cfa-4330-acb6-78ac0e21286e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;File&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;oFile&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;File&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;getFilesDir&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(),&lt;/span&gt; &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;&#39;저장상대경로&#39;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;OutputStream&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;osFile&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;FileOutputStream&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;oFile&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;bmImage&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;compress&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Bitmap&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;CompressFormat&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;PNG&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;osFile&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;

그럼 ^^</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/6161782379590106348/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/6161782379590106348' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6161782379590106348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6161782379590106348'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/08/android.html' title='Android 갤러리 이미지 가져오기'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-6260414073181051974</id><published>2022-08-12T00:02:00.006+09:00</published><updated>2022-08-12T00:02:52.388+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>Visual Studio 소스 파일 오픈 에러 대응</title><content type='html'>&lt;p&gt;&amp;nbsp;윈도우가 업데이트 되거나 하드 디스크 정리 하고 난후 캐쉬가 뒤죽박죽 되어 정상적으로 열리던 소스 파일들이 아래와 같은 에러 발생하면서 안 열리는 경우가 있다.&lt;/p&gt;&lt;div class=&quot;se-component se-text se-l-default&quot; id=&quot;SE-c7142def-ebe9-4d16-b2df-c7c877c54021&quot;&gt;&lt;div class=&quot;se-component-content&quot;&gt;&lt;div class=&quot;se-section se-section-text se-l-default&quot;&gt;&lt;div class=&quot;se-module se-module-text&quot;&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-063ecdff-5801-4a58-8dad-279d70c97c83&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-4bd85f84-c357-4bb1-974b-adf1ad491b93&quot;&gt;&quot;no exports were found that match the constraint&quot;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-c60ec2b9-4d09-4231-9e07-51d6d46b7bf7&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-119f7b92-b875-49c4-b9f6-57b7ff5c92eb&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-a0d4f2ae-d57e-4b4a-b027-490902dfc5fd&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-2ead268b-092c-469e-9766-e3c362a61bc6&quot;&gt;이럴때는 아래 경로 둘중에 하나를 찾아가서 캐쉬 파일을 정리 해주면 된다.&lt;/span&gt;&lt;/p&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;                &lt;div class=&quot;se-component se-code se-l-code_black __se-component&quot; id=&quot;SE-1d45a3a8-8c76-4c86-aa6a-570e9126edba&quot;&gt;
                    &lt;div class=&quot;se-component-content&quot;&gt;
                        &lt;div class=&quot;se-section se-section-code se-l-code_black&quot;&gt;
                            &lt;div class=&quot;se-module se-module-code se-fs-fs13&quot;&gt;
                                &lt;div class=&quot;se-code-source&quot;&gt;
                                    &lt;div class=&quot;__se_code_view  language-javascript&quot;&gt;&lt;span class=&quot;token se-code-operator&quot;&gt;%&lt;/span&gt;LocalAppData&lt;span class=&quot;token se-code-operator&quot;&gt;%&lt;/span&gt;\Microsoft\VisualStudio\&lt;span class=&quot;token se-code-number&quot;&gt;11.0&lt;/span&gt;\ComponentModelCache&lt;/div&gt;
                                &lt;/div&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                    
                &lt;/div&gt;                &lt;div class=&quot;se-component se-text se-l-default&quot; id=&quot;SE-389896ce-ca14-4c15-adb6-76d2ae92e669&quot;&gt;
                    &lt;div class=&quot;se-component-content&quot;&gt;
                        &lt;div class=&quot;se-section se-section-text se-l-default&quot;&gt;
                            &lt;div class=&quot;se-module se-module-text&quot;&gt;
                                    &lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-cae19859-3ea1-457e-b1d2-c7423945d419&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-447cbb7e-c260-4ebe-905c-74f4f98c0f15&quot;&gt;또는&lt;/span&gt;&lt;/p&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                &lt;/div&gt;                &lt;div class=&quot;se-component se-code se-l-code_black __se-component&quot; id=&quot;SE-b2b6aac3-ad3e-44f7-9bb2-8389da95bced&quot;&gt;
                    &lt;div class=&quot;se-component-content&quot;&gt;
                        &lt;div class=&quot;se-section se-section-code se-l-code_black&quot;&gt;
                            &lt;div class=&quot;se-module se-module-code se-fs-fs13&quot;&gt;
                                &lt;div class=&quot;se-code-source&quot;&gt;
                                    &lt;div class=&quot;__se_code_view  language-javascript&quot;&gt;&lt;span class=&quot;token se-code-operator&quot;&gt;%&lt;/span&gt;LocalAppData&lt;span class=&quot;token se-code-operator&quot;&gt;%&lt;/span&gt;\Microsoft\VPDExpress\&lt;span class=&quot;token se-code-number&quot;&gt;11.0&lt;/span&gt;\ComponentModelCache&lt;/div&gt;
                                &lt;/div&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;
                    &lt;/div&gt;
                    
                &lt;/div&gt;                &lt;div class=&quot;se-component se-text se-l-default&quot; id=&quot;SE-652d26d9-7927-42d1-828e-4b0564ebc29b&quot;&gt;
                    &lt;div class=&quot;se-component-content&quot;&gt;
                        &lt;div class=&quot;se-section se-section-text se-l-default&quot;&gt;
                            &lt;div class=&quot;se-module se-module-text&quot;&gt;
                                    &lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-2c3b65ee-ae3e-4be7-b32a-b226532c09ae&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-b30c2bc1-20d2-4fec-bc4c-20e1fb617dd6&quot;&gt;폴더명 안에 버젼은 Visual Studio 버젼별로 나오기 때문에 자신이 쓰는 VIsual Studio 버젼을 아래에서 확인하고&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-c556682c-8875-4558-8686-117be88ed6fe&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c46cb236-e027-4394-9953-deeede61089d&quot;&gt;해당 경로에 가서 지워주고 난후&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-0ccbd996-541b-4035-8aa6-eaa300c072ff&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-81635a9d-3db6-49f3-9229-7139ac19da21&quot;&gt;Visual Studio 를 재실행 주면 된다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-86199aee-1c42-4adf-ab44-625f304b75d3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-ae9c49d0-63cb-4225-832c-0da4405f18eb&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-657ebfd6-2867-4740-970e-9761758bcad1&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-62286fc7-cf8a-4213-a293-a1ae7abe2f60&quot;&gt;Visual Studio 2008 is 9.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-72be6fba-72eb-4005-a25d-c9d8ea0f9cad&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-1bb0d1d5-4b2c-4274-b867-4271a5f26d4e&quot;&gt;Visual Studio 2010 is 10.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5ff9b260-3686-4e03-bb70-96ccb434e68e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-ad83a960-7567-4e61-96c0-48fe9bb9c2bd&quot;&gt;Visual Studio 2012 is 11.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-01140ff8-6280-49a2-a2a2-d91d729fec72&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-f6473ba4-d379-4b75-bb85-4841a178f2bb&quot;&gt;Visual Studio 2013 is 12.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-22c95c16-8187-4182-b44e-41a1fa9d85ae&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-6ac297b7-776d-4ff8-8758-736395e8c021&quot;&gt;Visual Studio 2015 is 14.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-b66f70aa-ed42-454a-9d8f-2318230b54ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-724ecc44-8530-44ea-8a49-5b9bdf962cbc&quot;&gt;Visual Studio 2017 is 15.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-916626bb-5bf1-4c72-bc99-0371adaeae29&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-9373b85d-bfff-44a1-a666-f9ee091d3daa&quot;&gt;Visual Studio 2019 is 16.0&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-fb55ff80-a63a-4579-b671-529c8ce96686&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-dd3b0f99-be85-4060-ad4e-fba72ecad6ee&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-214a65f4-8aa2-4473-9109-5b68fd1b93d3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-f79f1b2a-8e6e-4b70-aaed-8ba267ca5585&quot;&gt;그럼 ^^&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/6260414073181051974/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/6260414073181051974' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6260414073181051974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6260414073181051974'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/08/visual-studio.html' title='Visual Studio 소스 파일 오픈 에러 대응'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-7507442066407537930</id><published>2022-07-30T10:19:00.000+09:00</published><updated>2022-07-30T10:19:04.019+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><category scheme="http://www.blogger.com/atom/ns#" term="WIndows 10"/><title type='text'>Windows 파일 확장자 한번에 바꾸기</title><content type='html'>&lt;p&gt;&amp;nbsp;﻿&lt;/p&gt;&lt;span data-input-buffer=&quot;INPUT_BUFFER_DATA;Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64%3B%20rv%3A103.0)%20Gecko%2F20100101%20Firefox%2F103.0;blog.naver.com&quot;&gt;&lt;/span&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-08361cdc-d6d7-41ee-b230-f5acb0c2cb52&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-d93b74ba-c369-44b1-989b-47b15373668a&quot;&gt;최근에 이미지 파일을 받을일이 있는데 파일 확장자가 .webp 파일이네요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-85fa0974-2bc9-4dae-a536-0adb4087528d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-f349c3fd-90b2-4562-8741-59c1669cb3bf&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-58b37bad-79bc-4613-8a35-c5e1faf31b32&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-39271f92-fb40-4f5c-95e5-584919f44d17&quot;&gt;검색을 해보니 해당 포맷이 png 포맷과 동일하다 하여 컴맨드 창을 열어 한개를 바꿔서 이미지로 보니 정상적으로&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-ced9a0ae-9655-4101-b25d-f4951c7be926&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-7d5f4afe-bdb8-4b34-b04c-0d4a7c03ea94&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-e37e1e5c-254e-45a4-837d-8c66fe82123d&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-545d86af-568d-435d-8f5a-1e120466a7e0&quot;&gt;나오는걸 확인 했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-c356a306-cb94-4b7a-b21f-b1a9628f930b&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-46cc1051-2b64-4908-91d5-6c120ac83daa&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-8ef94cb7-0205-4739-be6c-63db1280efeb&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-8d07cf11-4a20-4be1-8b1d-cd28a89eca8c&quot;&gt;여기까지는 서론이었구요. 파일 확장자를 일괄적으로 바꾸시려면.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-514173bf-0200-431e-bd84-a127c6a51952&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-09d9b1f5-daf1-4a98-8ae8-4a1b63083b32&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-0e07656c-5e3c-48c6-8786-1706e88514fd&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-d9c95229-81eb-4966-96a3-d71797dc4498&quot;&gt;파일들이 들어 있는 폴더를 cmd (Win+R =&amp;gt; cmd 입력) 창으로 열으셔서 아래와 같이 명령어를 입력하시면&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-21eedd97-81e2-4cbf-bbe6-49a9d731dd99&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-273ce116-ef45-48f7-a17d-df9a8cee933d&quot;&gt;일괄 변환 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-7808b642-d4c8-463b-ad25-ee821ba7a3dc&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-4b510e55-65f5-4487-ad89-1866ed5e2723&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-3b0c03f3-c9c9-4a79-acd8-883726b4c5e7&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-8b8e7c70-7b91-4eeb-bbb8-e3b2f43cf2f1&quot;&gt;rename *.webp *.png &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-6a9dc628-2ae6-4ce2-884d-c91b793caff5&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-6ae7497c-be1d-4ecb-87b0-dd93317431b5&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-left se-is-text-paragraph-block-selected&quot; id=&quot;SE-5a88631a-7690-473a-a82d-0f9af5d5b1db&quot; style=&quot;line-height: 1.8;&quot;&gt;&lt;span class=&quot;se-ff-nanumgothic se-fs15 __se-node&quot; id=&quot;SE-c69ef036-1310-4f83-b0cb-fd40754ff68d&quot;&gt;간단하죠? 그럼 ^^&lt;/span&gt;&lt;/p&gt;﻿</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/7507442066407537930/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/7507442066407537930' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7507442066407537930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7507442066407537930'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/07/windows.html' title='Windows 파일 확장자 한번에 바꾸기'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-7555900581067998717</id><published>2022-02-20T21:14:00.003+09:00</published><updated>2022-02-20T21:14:25.375+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>Java 문자열 분리 방법</title><content type='html'>&lt;p&gt;&amp;nbsp;오늘 포스팅 할 내용은 Java 에서 문자열을 특정 기호로 분리 하여 별도 클래스로 저장하고&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4c68c870-64cb-442e-9a6c-a20da179c823&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-5c609adb-4b3b-44fb-9151-d399f9ad9283&quot;&gt;출력하는것을 알아 보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-85b50bc1-333c-480a-b09e-13b6f03a9de6&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c55c5c95-4777-4767-9f56-e982cd18d501&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-31829688-e8d1-4af7-87f6-620c6c05923e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0174253b-ab43-426e-b443-f1a66d433b03&quot;&gt;기본적인 Java 콘솔 개발 환경 구축은 아래 링크에서 확인 하시기 바랍니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-31829688-e8d1-4af7-87f6-620c6c05923e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;a href=&quot;https://ansur.blogspot.com/2022/01/visual-studio-code-java-console-windows.html&quot;&gt;Visual Studio Code Java Console 개발환경 구축(Windows)&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-31829688-e8d1-4af7-87f6-620c6c05923e&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-8e8a5752-5235-4d32-b485-39b1d43409a2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ca546ef3-1e96-48f7-ad27-d1f592e22998&quot;&gt;작성을 위해서 기본적인 문자열 예시를 들겠습니다.&lt;/span&gt;​&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-d36525cf-ef9c-4ed7-b025-649dacff98fb&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-db1529b1-83db-44c4-a09e-888308a57fd2&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;​&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5160d449-7762-43de-97b1-0baff5f2aa10&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-7fdd65fc-e80f-4775-a02a-ea913c68c082&quot;&gt;기본 문자열은 위와 같습니다.&lt;/span&gt;​&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-3f8e0e30-f332-4815-9fad-4c2d12b9ed89&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-605c4b0c-4549-4911-82d8-7f394be77efd&quot;&gt;그냥 읽어보면 3개의 항목으로 키/값으로 분리 된것으로 보일겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-8f433080-12cf-4b25-abc7-1bb48e50a759&quot;&gt;Java 특성상 두개의 클래스 java 파일로 분리 되어 코드가 작성 될것입니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-16583186-7118-49ce-a3b4-ec91fd2768d3&quot;&gt;두개의 코드를 먼저 보시고 나머지 설명을 이어 가겠습니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-16583186-7118-49ce-a3b4-ec91fd2768d3&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;Java_StrParseSam01&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[]&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;args&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;PostItem&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;item&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;PostItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;();&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;doMakePostItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;

        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;format&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Title: %s&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;sTitle&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;));&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;format&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Writer: %s&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;sID&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;));&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;format&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Date: %s&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;sDate&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;));&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&amp;lt;Java_StrParseSam01.java&amp;gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;PostItem&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTitle&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sID&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sDate&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;doMakePostItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgStr&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[]&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrParse&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgStr&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;split&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;

        &lt;span style=&quot;color: #66d9ef;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;Integer&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrParse&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++)&lt;/span&gt;
        &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[]&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrParse&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;split&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;=&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;

            &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;equals&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;))&lt;/span&gt;
                &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTitle&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;];&lt;/span&gt;
            &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;equals&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Writer&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;))&lt;/span&gt;
                &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sID&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;];&lt;/span&gt;
            &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;equals&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;PostDate&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;))&lt;/span&gt;
                &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sDate&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;arrItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;];&lt;/span&gt;
        &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&amp;lt;PostItem.java&amp;gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-327fec9f-9bbe-45ca-980f-a77a9e669ba8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-4d62f714-d850-4369-a4b2-977c80510ae3&quot;&gt;java 시작은 main 함수에서 시작 되기 때문에 main 함수에서&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-25be487e-5d10-4328-be1a-59a8deef8014&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-564919d9-bf32-4c6d-9210-73ec736184e9&quot;&gt;PostItem 클래스에 인스턴스를 생성합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-25be487e-5d10-4328-be1a-59a8deef8014&quot;&gt;​&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1fdd9531-3538-4f82-82b5-2429d814a045&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-03649e58-a4d4-488b-9891-67017e82ca41&quot;&gt;생성한 PostItem 에 문자열을 파싱하여 클래스 내부 아이템에 할당하는 코드가 들어 갑니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-8ce7bc47-105b-4d0a-b67b-d106c53ae49f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-75c52531-d61e-438f-997b-b23dbe1b12aa&quot;&gt;함수명은 doMakePostItem 이라고 명명 하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-d1d09c9a-df31-4935-a39b-cbfcb5453997&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-bfa8dbc4-8284-475e-8140-4fcbedd9cf15&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-e39de738-a52e-4842-887c-07b61d35a4f5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-79ac722f-f4f2-4b05-9ad1-f9da7ed1a975&quot;&gt;java 기본 클래스 String에서 문자열을 분리하기 위함 함수가 제공 됩니다. &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5a0cc808-fe38-42ef-b1e5-5a60cf410583&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c4ef16c8-473b-45e4-9bf9-2765a082ebc4&quot;&gt;split 이라는 함수이고 리턴값은 String[] Array 형태로 리턴됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-014b1e45-8225-486c-88de-e23b4436721f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-88c18608-3078-4513-b22f-8152ce8eabc0&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-e91a6607-a7ff-4c09-80fb-08e24d977afc&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-497c709e-109a-4a5c-8d39-4045067cf73c&quot;&gt;위 doMakePostItem 에서 &#39;@&#39; 문자로 선분리 하고 개별 아이템을 다시 &#39;=&#39; 문자로 분리 하여 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-2ac0fedf-d5d4-47cf-95c4-c03890dac7ce&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-0d584e56-8621-4337-b31a-045adc7c2e5f&quot;&gt;PostItem 클래스 내부 변수에 담는 로직이 들어가 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-3d3f1c66-e6af-45c4-9cff-d83a1372ebee&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-2af4e6b5-35c5-4b05-9cb2-02732f7aaea3&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-249dafcc-7e04-49ec-8fe0-911bfbe36228&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-4c107b69-ac72-461d-a984-d870bc98f724&quot;&gt;기본적인 java 문자열 분리 방법을 알아 봤습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-ae633f28-92f3-4ddd-b2d0-0889d7f68993&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-2489b810-d562-445f-867d-083903ef0f05&quot;&gt;그럼 이만. ^^&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/7555900581067998717/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/7555900581067998717' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7555900581067998717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7555900581067998717'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/02/java.html' title='Java 문자열 분리 방법'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-8799064293464498721</id><published>2022-02-12T10:48:00.006+09:00</published><updated>2022-02-12T10:48:51.254+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>C++ 문자열 분리 방법 2강</title><content type='html'>&lt;p&gt;&amp;nbsp;지난번 강의 에 이어 오늘 포스트할 내용은 기본 분리에 다시 상세 분리를 하여&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b531c38b-3cf3-4307-bbcb-26319e036650&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ea5b6462-7210-473a-82da-b9c37717d8b8&quot;&gt;만들어 놓은 구조체에 담아 저장후 출력하는것으로 이어 가겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-bb7fe7fd-363d-4bd9-93af-1926e2805528&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-9b880a7e-4038-483d-892d-81b0d83e266b&quot;&gt;지난번 강의는 아래 링크로 확인해 주세요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-bb7fe7fd-363d-4bd9-93af-1926e2805528&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;a href=&quot;https://ansur.blogspot.com/2022/02/c-1.html&quot;&gt;C++ 문자열 분리 방법 1강&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-6852e54a-bee9-4aaf-ab6d-e401c1fd5dc9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-248a54d1-a6ac-4690-aa5f-d76eb8c1f982&quot;&gt;소스를 보기 전에 처리 하는 방법을 설명 드리고 시작 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-bb7fe7fd-363d-4bd9-93af-1926e2805528&quot;&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-9d6b6ced-9412-4078-be84-f4f896aed1cd&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-835345f9-da68-4d34-bb72-a39430985528&quot;&gt;문자열을 파싱하여 담을 구조체를 설계합니다. 저는 아래와 같이 구조체로 설계 했습니다.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;typedef&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTitle;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sID;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sDate;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}BLOGPOSTITEM;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-033809bf-c261-46c6-97cf-5bd9223085a0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1c97d26c-3fff-46db-bb01-9dc18ea068bf&quot;&gt;그리고 개별 아이템을 분리하여 구조체에 담는 처리를 하기 위해서 별도 함수를 작성하여 활용 했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f0de3069-43fb-411e-80e9-aaab15ec2a7c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-8df14e02-1829-4fee-b402-a0640de1003f&quot;&gt;함수 원형은 아래와 같으며 나머지는 동작한는 소스를 확인한후 설명을 이어가도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;BLOGPOSTITEM&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;iostream&amp;gt;&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;namespace&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;std;&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;typedef&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTitle;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sID;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sDate;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}BLOGPOSTITEM;&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;doParseItem&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;BLOGPOSTITEM&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem)&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;=&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sKey,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sValue;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;size_t&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sItem.find(sSepChar);&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;npos)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sKey&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sItem.substr(&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex);&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sValue&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sItem.substr(nIndex&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar.size(),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sItem.size()&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIndex&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar.size()));&lt;/span&gt;

        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(sKey&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTitle&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sValue;&lt;/span&gt;
        
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(sKey&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Writer&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sID&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sValue;&lt;/span&gt;

        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(sKey&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;PostDate&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sDate&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sValue;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;()&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTemp,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc;&lt;/span&gt;

    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;BLOGPOSTITEM&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;memset(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0x00&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(BLOGPOSTITEM));&lt;/span&gt;

    &lt;span style=&quot;color: #75715e;&quot;&gt;// string find 를 이용하여 아이템 기본 분리.&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;size_t&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.find(sSepChar);&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;npos)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sItem&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.substr(&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex);&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(sItem,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem);&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.substr(nIndex&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar.size(),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.size()&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIndex&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar.size()));&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.find(sSepChar);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

    &lt;span style=&quot;color: #75715e;&quot;&gt;//마지막항목.&lt;/span&gt;
    &lt;span style=&quot;color: #75715e;&quot;&gt;//cout &amp;lt;&amp;lt; &quot;[Item:&quot; &amp;lt;&amp;lt; sParse &amp;lt;&amp;lt; &quot;]&quot; &amp;lt;&amp;lt; endl;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(sParse,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem);&lt;/span&gt;

    
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;cout&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;endl;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;cout&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Title: &quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.sTitle&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;endl;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;cout&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Writer: &quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.sID&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;endl;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;cout&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Date: &quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.sDate&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;endl;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;cout&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;endl;&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-7b8a9e2b-9b4c-4742-a0f9-7ee481ff10d2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-8533cb61-adf2-4c36-9efa-5524d8e74719&quot;&gt;소스를 리딩하는것은 함수먼저 보는것이 아니라 시작되는 프로그램부터 보면서 안쪽으로 분석 하시는 방법으로&amp;nbsp;&lt;/span&gt;하는것을 추천 드립니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-f3f33219-b531-4439-a5ff-27df85792a8e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-b33df70a-6a9a-413b-b217-be5ef15cffbf&quot;&gt;위 소스의 시작은 main 함수 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-719a8d1f-3b2b-4d77-851f-936a315cd301&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-9c70dbc3-c2fc-4477-acba-74f2029dd5d9&quot;&gt;기존에 구현한 함수와는 별차이가 없고 추가된것은 구조체 선언한 변수 postItem 가 들어가 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-3b56bdf2-7f0a-4e1a-95bc-c9e57b51dd81&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-cecd6e88-1a6b-4f33-b412-d5000670fc29&quot;&gt;&#39;@&#39; 문자열로 파싱한 아이템을 넘겨서 postItem 에 개별 담기를 하기 위해서 doParseItem 함수가 호출된것을 볼수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-d59fd778-0d45-42fb-b1c8-bc63968151ed&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-461a1bc9-4f77-4d15-bb8a-c7fd78e79058&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-8bf191e8-8500-4aed-9d6a-ee1cecd07ef5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-edbea4ac-5e32-4142-a48d-c37584a6e2b2&quot;&gt;doParseItem 함수는 &#39;Key=Value&#39; 형태로 넘어오는 문자열을 파싱하여 구조체에 원하는 항목으로 집어넣는 과정입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-3c0b60d5-0d00-4f8c-9b6b-9e626aa704d3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-3cfa61ca-ea0b-4ef1-82e2-58038e722afa&quot;&gt;함수 시작과 함께 for 문과 마지막항목 분리로 Key와 Value 값을 추출한후&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-2f213cb7-5907-42bb-b258-53f38a612aed&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-52a0f35c-3b37-4e3e-9864-1e4af7d5d895&quot;&gt;마지막에 Key 값에 따라 구조체 항목에 집어 넣는 과정으로 분류 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-9a226db3-f9ac-49d9-9b7c-7d0c447e6826&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-132a59e8-610e-4b1b-8e3c-e4e6ce9e6934&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-0dd2cced-a8ad-41a4-a0b7-cd0a356ae178&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-5ebaf886-dbc1-4139-a42e-1815674c3332&quot;&gt;일련의 과정이 끝나고 나면 마지막에 구조체 항목을 상세히 출력하여 온전하게 분리된 문자열 데이터를 보실수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-60e0ffa8-fb06-4dc7-95b7-30be9f8c6a92&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-3ccf1fd9-8809-4853-80d4-b15b7183ce23&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-58b07f95-e778-44ed-9460-26a176427354&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-efaa3f4d-f3c8-48ec-a7ef-c37acd1a5ee7&quot;&gt;그럼 이만 ^^&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/8799064293464498721/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/8799064293464498721' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/8799064293464498721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/8799064293464498721'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/02/c-2_12.html' title='C++ 문자열 분리 방법 2강'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-3258885157023856611</id><published>2022-02-12T10:44:00.006+09:00</published><updated>2022-02-12T10:44:55.443+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>C++ 문자열 분리 방법 1강</title><content type='html'>&lt;p&gt;&amp;nbsp;오늘 포스팅할 내용은 C++을 이용하여 문자열을 분리 하는 방법을 알아 볼까 합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-2cb93dd3-bf2a-4ec7-9d1f-bb7cf4b249b7&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-50d8f836-7fef-4169-8c61-95260de50d40&quot;&gt;C++을 쓰니까 당연히 STL 을 같이 사용하여 분리 하는 방법을 알아보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a989e6db-543a-47fa-a571-438c67b15f68&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-e2fc2497-6b06-4712-9ae1-48decb885224&quot;&gt;기존 C API를 이용하여 분리 하는 방법은 아래 링크에서 확인하시면 될거 같습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a989e6db-543a-47fa-a571-438c67b15f68&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;a href=&quot;https://ansur.blogspot.com/2022/02/c-2.html&quot;&gt;C 문자열 분리방법 2강&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-97a8eb25-d001-4b95-b01c-67ca5918122e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-7cff10cc-c363-47c4-999a-1ee78fc37aeb&quot;&gt;작성을 위해서 기본적인 문자열 예시를 들겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-61d05cd2-f65e-4c5f-b4fe-fa7867704f3b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-4dd9bce8-4e44-4068-a61b-d0e50794bbe9&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-123a02a7-be5c-4141-9368-386f13df5ba5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-d70e5a04-7a11-4a43-839f-e102e997a444&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-74857eab-9094-4f6f-94a3-f4b95059a941&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-e4ea81a9-104b-4295-8986-ce8b08ae5c95&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-80114564-543d-425a-8956-257528b33285&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-760ca75f-e7d3-4e31-a26f-b2bc309fee2a&quot;&gt;기본 문자열은 위와 같습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-ac3cdd52-40bd-4d15-b92f-a2bd384e5ad2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-cc6d6330-1d20-48a4-b35b-f29f4c9456bd&quot;&gt;그냥 읽어보면 3개의 항목으로 키/값으로 분리 된것으로 보일겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b537a5a3-4457-4542-9bc5-38d0b5790ffd&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c2b017fc-83ad-445c-bc69-9e53b778b851&quot;&gt;일단 첫번째로 3개의 항목을 분리하여 간단히 출력하는 프로그램을 작성합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-66f1736c-0914-4f89-9032-09268e4dd117&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-9feffea8-d969-4d30-99ab-8f3bfadca831&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b32d0d78-d075-4909-9e52-7b484b599cb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-bdf60012-418f-4caa-9fb8-b16f332632a2&quot;&gt;프로그램 작성은 Windows에 Visual Studio Code 설치후 g++ 기반으로 작성 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a989e6db-543a-47fa-a571-438c67b15f68&quot;&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-854c25b7-3bb8-413f-a3ad-6880898e9d2a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-8e20ff98-f0b7-492d-9d86-460a1a38175e&quot;&gt;기본 프로그램 환경 구축은 아래 제 블러그 링크에서 확인하고 구성 하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-854c25b7-3bb8-413f-a3ad-6880898e9d2a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;a href=&quot;https://ansur.blogspot.com/2020/06/visual-studio-code-cc-windows.html&quot;&gt;Visual Studio Code C/C++ 개발환경 구축&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-854c25b7-3bb8-413f-a3ad-6880898e9d2a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-75020019-94c8-4a81-81b5-7cb1664dce13&quot;&gt;코드를 먼저 보고 설명을 시작 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;iostream&amp;gt;&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;using&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;namespace&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;std;&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;()&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTemp,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc;&lt;/span&gt;
    
    &lt;span style=&quot;color: #75715e;&quot;&gt;// string find 를 이용하여 아이템 기본 분리.&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;size_t&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.find(sSepChar);&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;npos)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.substr(&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex);&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;cout&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;[Item:&quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sTemp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;]&quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;endl;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.substr(nIndex&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar.size(),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.size()&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIndex&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sSepChar.size()));&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIndex&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse.find(sSepChar);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
    
    &lt;span style=&quot;color: #75715e;&quot;&gt;//마지막항목 출력.&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;cout&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;[Item:&quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sParse&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;]&quot;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;endl;&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-908dc023-2a59-403c-9919-0a8de2f80fa5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-f6ae3885-8428-494d-ba26-99e8a8d80807&quot;&gt;&lt;b&gt;using namespace std;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-fac000d9-3e84-4d2c-b0d6-e4b421a484a9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-7e94d05b-8cc9-40d1-be9f-73b0a0723511&quot;&gt;위 구문은 STL 라이브러리를 쓰기 위해서는 std:: 로 시작하는 타입을 지정하게 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-f87ebf34-4fdd-45f4-ab2f-286d7d4c5554&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-61ca4804-9503-4668-aeff-abd8f32a4c64&quot;&gt;예를 들면 string 클래스를 쓰기 위해서는 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-4c8f5194-267d-43a8-8a03-19cce4c642b3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-66212ebc-f222-4149-aa4f-1fba3af3fdb6&quot;&gt;&lt;b&gt;std::string sText;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1aac502a-9498-43ec-9133-9cfaf49e7bbf&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-d917f0e6-e57b-4961-9870-1bf6e77358e1&quot;&gt;위와 같이 선언 해야 되는데 매번 std:: 를 입력하는것을 줄이기 위해 선언하는겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-89b26f89-bccc-44ca-89fa-8307cf22e1cd&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-29f2d534-b0ea-4a89-bbce-185f3af8eb5e&quot;&gt;그러면 위 코드와 같이&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-6c810b91-9b8b-431f-9b96-f74877201850&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-ebb5966a-6923-43cf-b4b6-91d6dfd91998&quot;&gt;&lt;b&gt;string sText;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-88e026f8-6a61-40ea-a218-1da05974a214&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-15f9f9a0-cefb-4fba-9860-481f990dc9d9&quot;&gt;라고 선언 한것이 동일한 효과를 내는겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-307ae03f-5f8b-4661-840b-1a23402543cb&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-20ccfc25-5ea6-4dc0-9920-ce5f6a0c7b82&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-37a660ee-2776-4489-9301-a8773c5a98f1&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-79c79eec-3002-4795-a7c3-0926b0cff072&quot;&gt;문자열 파싱을 위해서는 string 클래스에서 &#39;find&#39; 와 &#39;substr&#39; 두개를 이용하여 분리 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-516a5f5a-1008-445a-9f9a-a1baa2627d24&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-fb7ca89d-092e-4496-9eef-d4198603353f&quot;&gt;&#39;find&#39; 를 하게 되면 문자열 처음부터 검색하여 나오는 위치값을 리턴하게 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-38f48504-9c04-45f0-9e2a-8c41bea0818f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-2308b9e9-f3f4-436b-8e5e-c5230e780e2f&quot;&gt;위치값을 기반으로 &#39;substr&#39;을 호출하여 문자열을 잘라 냅니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-12805402-3587-4198-987c-fad01c3146d4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-38fb41b1-7c9d-49b1-a92b-e628a92b709a&quot;&gt;잘라내고 난후 검색문자열을 찾아낸 값을 잘라낸후 다시 검색하여 처리 하는것을 반복 하는 겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-3db58b82-caf3-4836-832c-67118c876c6b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c79013d3-a2e2-48c1-897b-910a4fdc301b&quot;&gt;while 문이 끝나고 나면 마지막 항목은 출력이 되지 않기 때문에 추가로 마지막 항목을 출력합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-a1eaa16d-a5d9-4e76-8be5-a79d6506c00d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c905a03f-7070-40fd-b1ba-63288e724d8f&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-4c58c699-a43a-402c-9bd4-8934a4fc7180&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-423626e4-b10e-47dc-87b4-5e7aebfbedb8&quot;&gt;&lt;b&gt;string::npos&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-bba24e2e-2c0e-4e8b-a0ab-699fba44c734&quot;&gt; 는 검색한값이 없을경우 리턴값 매칭으로 &#39;-1&#39; 과 같은 값이라고 보시면 될거에요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-f1774743-0531-440d-a722-a1ea264c978a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-30c75a62-97b9-4286-a7f2-db943c2854e4&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-74097395-b163-41d3-b123-77d947aa0859&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c493d28d-17d3-42ec-b232-c147bf286537&quot;&gt;그럼 이만 ^^&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/3258885157023856611/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/3258885157023856611' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3258885157023856611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3258885157023856611'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/02/c-1.html' title='C++ 문자열 분리 방법 1강'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-331630550381472883</id><published>2022-02-12T10:39:00.004+09:00</published><updated>2022-02-12T10:40:04.326+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>C 문자열 분리 방법 2강</title><content type='html'>&lt;p&gt;지난번 강의 에 이어 오늘 포스트할 내용은 기본 분리에 다시 상세 분리를 하여&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-930af2f1-ef9a-404f-8c36-4070541ef780&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-23aa1d44-4d0c-4f05-8946-4da79d231200&quot;&gt;만들어 놓은 구조체에 담아 저장후 출력하는것으로 이어 가겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4237b80e-4e80-46f9-8cbf-dcc25ef722b4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a6df7f50-0633-46a2-8bed-7510501d6478&quot;&gt;지난번 강의는 아래 링크로 확인해 주세요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4237b80e-4e80-46f9-8cbf-dcc25ef722b4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;a href=&quot;https://ansur.blogspot.com/2022/01/c-1.html&quot;&gt;C언어 문자열 분리방법 1강&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-632deaf4-d753-428e-acd0-3fbc90e7fb88&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-eb860ca5-ef8d-4166-8a32-137f0df31909&quot;&gt;소스를 보기 전에 처리 하는 방법을 설명 드리고 시작 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4237b80e-4e80-46f9-8cbf-dcc25ef722b4&quot;&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-eb1b715e-0dd9-461c-b6de-9693e9d8b3e5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-757f8ea5-0e69-496b-bafd-57ecbbd2cf95&quot;&gt;문자열을 파싱하여 담을 구조체를 설계합니다. 저는 아래와 같이 구조체로 설계 했습니다.&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szTitle[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szID[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szDate[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b9a7df16-0993-4d44-b19a-2c355f1fb469&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-fa5a7f56-e974-4a85-9502-138c2f46c1b6&quot;&gt;그리고 개별 아이템을 분리하여 구조체에 담는 처리를 하기 위해서 별도 함수를 작성하여 활용 했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-d8603489-887b-473a-83ce-540ff26a3529&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-496994b4-0f3a-407b-ac06-18ce9c066846&quot;&gt;함수 원형은 아래와 같으며 나머지는 동작한는 소스를 확인한후 설명을 이어가도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szItem,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-e8fe7604-9c8c-42f5-b607-487ee39b39f9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ec1fdeee-4a11-4dad-b00b-32d2c619c47c&quot;&gt;아 추가로 C언어 에서는 기본적으로 min, max 함수를 지원하지 않으므로 직접 매크로로 제작하여 사용합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-0993cfbf-05a1-4597-b5de-a802894008b9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-61bd6ec1-0804-462e-a59e-a94e1f7f28f8&quot;&gt;기본적인 C언어 3항 연산자를 활용하여 구현 했으니 소스를 보시면 알수 있을거 같네요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-0993cfbf-05a1-4597-b5de-a802894008b9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string.h&amp;gt;&lt;/span&gt;

 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;ifndef&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;max&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;define&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;max(a,b)&lt;/span&gt;  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(((a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;?&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;endif&lt;/span&gt;

 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;ifndef&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;define&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(a,b)&lt;/span&gt;  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(((a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;?&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;endif&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szTitle[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szID[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szDate[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;doParseItem&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szItem,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem)&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nItemLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strlen(szItem),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szKey[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;},&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nItemLen;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(szItem[nIdx]&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;=&#39;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;            
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szKey,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;        
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nItemLen&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem);&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(strcmp(szKey,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szTitle,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(strlen(szValue),&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szTitle)));&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(strcmp(szKey,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Writer&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szID,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(strlen(szValue),&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szID)));&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(strcmp(szKey,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;PostDate&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szDate,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(strlen(szValue),&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szDate)));&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;()&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;memset(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0x00&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo));&lt;/span&gt;
    &lt;span style=&quot;color: #75715e;&quot;&gt;//일반 구문으로 아이템 분리.&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOrgSrcLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strlen(sOrgSrc);&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;
    
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOrgSrcLen;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(sOrgSrc[nIdx]&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;@&#39;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;            
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;memset(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0x00&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;        
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

    &lt;span style=&quot;color: #75715e;&quot;&gt;//마지막항목 출력.&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOrgSrcLen&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem);&lt;/span&gt;
    
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Title: %s&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.szTitle);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Writer: %s&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.szID);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Date: %s&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.szDate);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-607151d3-2828-4d49-803d-9809088e0ed1&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0713aa28-79cc-441a-bc59-f9e95ccbaa21&quot;&gt;소스를 리딩하는것은 함수먼저 보는것이 아니라 시작되는 프로그램부터 보면서 안쪽으로 분석 하시는 방법으로&amp;nbsp;&lt;/span&gt;하는것을 추천 드립니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c5511a96-5df0-479a-b0e0-814322689bac&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-08aaa097-a918-4162-be04-6e123ae8bdb1&quot;&gt;위 소스의 시작은 main 함수 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1a46b8ff-bcb3-4d3a-b974-647874a0fc46&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-3ea54514-663b-4b58-86d2-4e6c47e5f62e&quot;&gt;기존에 구현한 함수와는 별차이가 없고 추가된것은 구조체 선언한 변수 postItem 가 들어가 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-cddcae65-64fd-419b-8f88-2ef098852774&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-8eeca88f-7d3d-4668-ba6a-63186a8a10d5&quot;&gt;&#39;@&#39; 문자열로 파싱한 아이템을 넘겨서 postItem 에 개별 담기를 하기 위해서 doParseItem 함수가 호출된것을 볼수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1e232304-5f21-4300-98a5-c9baf1c0c80a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1b05f506-699b-4106-bd7b-858aadcd60eb&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-393220b1-9a82-4163-a66b-702db52f8b46&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-df72f751-01c2-4a20-b6c5-47413f83c2cd&quot;&gt;doParseItem 함수는 &#39;Key=Value&#39; 형태로 넘어오는 문자열을 파싱하여 구조체에 원하는 항목으로 집어넣는 과정입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-d4115385-1ebd-48e5-9ab9-2b86a2827a37&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ad340896-6885-439d-a0ff-6b354d680a98&quot;&gt;함수 시작과 함께 for 문과 마지막항목 분리로 Key와 Value 값을 추출한후&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-9425bf29-f66b-4026-89f4-31faae4865a9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-4c8a3e9f-0fea-44a7-a1cd-4dfca95519c0&quot;&gt;마지막에 Key 값에 따라 구조체 항목에 집어 넣는 과정으로 분류 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a96ef9e3-f7fa-46d1-ad09-ac6bf1f9d4ba&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-efd0c8a3-8c71-48dd-8dda-c24066c4fecc&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-34d484e4-111e-4834-a263-5ddb3a57d8fe&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-e602ac01-3fe2-4123-aa16-d38dc5c39097&quot;&gt;일련의 과정이 끝나고 나면 마지막에 구조체 항목을 상세히 출력하여 온전하게 분리된 문자열 데이터를 보실수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-97e9e7e5-8506-4d1f-8bd1-c7d8d9252456&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-f2d23d60-dd86-48b7-845b-a063f46cc618&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-50e2e1b9-2156-4708-bfa1-7c2a20dc7bc4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-b522a9a5-69e2-4e7d-9b88-f82c9b0e91d9&quot;&gt;두번쨰 코드는 strstr을 사용하여 분리 하는 과정이고 소스의 형태는 위와 큰차이가 없습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-623f4f95-2394-4262-b0b3-0d5f386bf0f0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-d7a2668f-c538-4133-9468-05c5b24fd3e3&quot;&gt;strstr 을 써서 문자열 기본 파싱하는것은 기존 강의를 참조 하시면 될거 같아요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-623f4f95-2394-4262-b0b3-0d5f386bf0f0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string.h&amp;gt;&lt;/span&gt;

 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;ifndef&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;max&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;define&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;max(a,b)&lt;/span&gt;  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(((a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;?&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;endif&lt;/span&gt;

 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;ifndef&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;define&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(a,b)&lt;/span&gt;  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(((a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;?&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(a)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(b))&lt;/span&gt;
 &lt;span style=&quot;background-color: #1e0010; color: #960050;&quot;&gt;#&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;endif&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szTitle[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;60&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szID[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szDate[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;];&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;doParseItem&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szItem,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pItem)&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nItemLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strlen(szItem),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szKey[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;},&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strstr(szItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;=&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
        
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL)&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(szItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szKey,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strlen(szItem)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos);&lt;/span&gt;
            &lt;span style=&quot;color: #66d9ef;&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;                    
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(strcmp(szKey,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szTitle,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(strlen(szValue),&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szTitle)));&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(strcmp(szKey,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Writer&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szID,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(strlen(szValue),&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szID)));&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(strcmp(szKey,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;PostDate&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szDate,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szValue,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;min(strlen(szValue),&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;szDate)));&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;()&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;memset(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0x00&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;_BlogPostInfo));&lt;/span&gt;
    &lt;span style=&quot;color: #75715e;&quot;&gt;//strstr 을 사용하여 아이템 분리.&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strstr(sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
        
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL)&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;memset(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0x00&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strlen(sOrgSrc)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;doParseItem(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem);&lt;/span&gt;
            &lt;span style=&quot;color: #66d9ef;&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;                    
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Title: %s&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.szTitle);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Writer: %s&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.szID);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;BlogItem Date: %s&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;postItem.szDate);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;==============================&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;그럼 이만 ^^&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/331630550381472883/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/331630550381472883' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/331630550381472883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/331630550381472883'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/02/c-2.html' title='C 문자열 분리 방법 2강'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-852888304518262228</id><published>2022-01-24T18:36:00.007+09:00</published><updated>2022-01-24T18:36:47.546+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>C 문자열 분리 방법 1강</title><content type='html'>&lt;p&gt;&amp;nbsp;오늘 포스팅 할 내용은 C 언어에서 문자열을 특정 기호로 분리한는 방법을 알아 보겠습니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-aaea378a-f398-4720-86fd-cc111c615071&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c456c509-8feb-4029-b9d3-a932de9980e8&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b9862ce2-038c-4bb9-8867-1f7a1222f9a6&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-07af8873-7aca-4a05-8ddd-0323e77ffcfc&quot;&gt;단순 문자로 분리하여 출력까지 하는것을 이야기 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-2835ccdb-68dd-4e24-854d-6fc7c81ed0e2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0925030f-40f2-4da5-a8c8-12edee7bf1e1&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4692779d-0ba5-42ab-8b94-c9b5351373f0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-3277a203-fa43-4606-8999-12e4487c5673&quot;&gt;작성 방법은 API를 안쓰는 방법(무식한 방법?)과 API를 쓰는 방법 두가지를 알아 보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-eec99edd-144b-4c50-8b30-02eff7927819&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1a0bceb2-9883-4583-8710-e169dbb9ecce&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1b1de657-8630-4bc2-b5ae-54f220063e18&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-934abd1a-c22d-42e0-99c9-c36befe3628b&quot;&gt;작성을 위해서 기본적인 문자열 예시를 들겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-ae7515ea-2e72-44d0-8b30-80bd20f1c4ce&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-37b82446-4f6d-4bee-a730-2e27483382f8&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-abb84d2a-5152-466e-b5df-9a791340adce&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-eda5aae8-5fb7-47ac-a81d-ff379a8e3be9&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4ebb9586-e979-443f-88cf-e1eae1649540&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-6d599425-a84a-4f63-b6d6-f056767919e7&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-92c93095-ed72-4c60-91ce-cbebb964c5c0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-4fa01129-56ef-4bd8-b9ab-53c1aed49419&quot;&gt;기본 문자열은 위와 같습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-fc84e806-9f23-4cdb-9f8c-2ce88ebfd553&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-76e19223-a210-4456-8453-2243082ec45f&quot;&gt;그냥 읽어보면 3개의 항목으로 키/값으로 분리 된것으로 보일겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e836957-f71f-474e-aedb-4b32c5563155&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-348849a3-22f9-44a4-98e2-9d2edc612ea0&quot;&gt;일단 첫번째로 3개의 항목을 분리하여 간단히 출력하는 프로그램을 작성합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1953b013-1f40-436c-9944-086b4c96aef3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-34735499-81a9-4562-b5cf-377e2642977c&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-2ca30176-bbc3-4f03-9754-ba90e32cd98d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-2caf9d56-34ad-42c4-a4b6-d2802009ad50&quot;&gt;프로그램 작성은 Windows에 Visual Studio Code 설치후 gcc 기반으로 작성 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-da907a9b-1189-457b-a918-e99c0754596b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-581c9903-3c50-41a8-b8a6-c1450a86771b&quot;&gt;기본 프로그램 환경 구축은 아래 제 블러그 링크에서 확인하고 구성 하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-da907a9b-1189-457b-a918-e99c0754596b&quot;&gt;&lt;a href=&quot;https://ansur.blogspot.com/2020/06/visual-studio-code-cc-windows.html&quot;&gt;Window GCC 환경구축&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-da907a9b-1189-457b-a918-e99c0754596b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-7ac52881-579a-4675-884d-18bc0c6e3d46&quot;&gt;코드를 먼저 보고 설명을 시작 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string.h&amp;gt;&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;()&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;

    &lt;span style=&quot;color: #75715e;&quot;&gt;//일반 구문으로 아이템 분리.&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOrgSrcLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strlen(sOrgSrc);&lt;/span&gt;

    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOrgSrcLen;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(sOrgSrc[nIdx]&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;@&#39;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;[Item:%s]&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;memset(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0x00&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nIdx&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;        
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

    &lt;span style=&quot;color: #75715e;&quot;&gt;//마지막항목 출력.&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOrgSrcLen&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTItem);&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;[Item:%s]&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-720981e2-e60c-4c56-8045-db75ef6ee9b4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-d6536457-eaf2-4284-ad3c-f004a819ec61&quot;&gt;API를 안쓰게 되면 문자열을 길이만큼 for 문을 이용하여 반복하다 &#39;@&#39; 문자를 만나면 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-43819481-f553-4bcc-8bf8-897ebabc4ef4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-bf783b53-e70f-4151-8440-39aa3adf106b&quot;&gt;길이만큼 짤라서 출력하는 구조 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b853c411-237d-4b13-b53a-9cccad04edb8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-3af885f2-d844-453c-ac60-8ad1aef174ca&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a0d3b8a3-a1d7-405e-83d3-9dea7859c9ea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-9a21f306-2bc4-4343-bf1f-3ba1f5e36af3&quot;&gt;출력을 위해서 szPrt 변수를 별도로 이용했구요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f095420e-7b66-4030-9d33-42f9e6ab0a59&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-ee5aae02-2927-4c88-b432-dac48fa321e0&quot;&gt;strncpy 를 이용해서 문자열 복사를 했는데 마지막 인자값이 주어진 길이만큼만 복사 하는것 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-2ce5bd8f-1551-41e3-b093-83c3aae35aaa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-039eeb68-7edf-45de-9b3a-de227777c00c&quot;&gt;하나의 아이템을 잘라서 출력한다음 다음 구문 분석을 위해서 시작 위치를 잡아 주기 위해서 nSTItem 변수를&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1a7b09f9-90e4-40d5-ad0d-78111927fca9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a575894f-e8d9-4241-a5bf-4074c2dbe604&quot;&gt;사용했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-0b7dec13-69c1-4c34-80da-82a7f4f9dff3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a1b0669f-d0d7-4c87-8592-38292d2b72b4&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c0d15d82-d311-48cc-870c-3e069e63e13e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-023799ab-8fbf-4ee8-bec9-dca04204deaf&quot;&gt;마지막 항목을 출력하기 위해서 for문이 종료되고 난후 마지막 항목을 출력했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-6b0a6181-ee51-420a-b492-eab44de75130&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-7c49fc48-5399-4d3c-a5aa-6ab3cc040ee3&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c49aecba-7402-4650-9882-db4996318bd6&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-9525fad6-bcd3-4ac3-80a7-b4b1344f772d&quot;&gt;두번째 코드는 &#39;strstr&#39; API를 이용하여 문자열 분리 하는 방법입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-e66c0144-2df1-4480-820b-f89cdca84859&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-726fcfa0-02f7-4804-b96f-7fdebb09fa62&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-fb0e14f0-6360-4bf0-b4f0-30e2f16ab9e1&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-34b2984a-6c59-4c46-af5a-2702d93f09dc&quot;&gt;코드를 먼저 보고 설명을 시작 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span style=&quot;color: #75715e;&quot;&gt;#include &amp;lt;string.h&amp;gt;&lt;/span&gt;

&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;()&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Title=Blog@Writer=Berdo@PostDate=20220120&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;

    &lt;span style=&quot;color: #75715e;&quot;&gt;//strstr 을 사용하여 아이템 분리.&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen;&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt[&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;};&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strstr(sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
        
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL)&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pFind&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;[Item:%s]&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;memset(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0x00&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;128&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
        &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strncpy(szPrt,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrgSrc&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;strlen(sOrgSrc)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nSTPos);&lt;/span&gt;
            &lt;span style=&quot;color: #f8f8f2;&quot;&gt;printf(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;[Item:%s]&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szPrt);&lt;/span&gt;
            &lt;span style=&quot;color: #66d9ef;&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;                    
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-47c93217-b0d4-4b53-b008-fddbb2ae62a4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-b1fc8ad8-fc78-409a-8666-93cf76f4cd86&quot;&gt;&#39;strstr&#39; 사용은 처음인자에 검색대상 문자열 포인터를 지정합니다. &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-2c07b866-ed04-49dd-ad41-c59abb3962e7&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-9ca4224d-8fba-40f1-86f6-0e4d60f9f9c2&quot;&gt;두번째 인자에는 검색할 문자열을 입력합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-aeaad325-b81f-423c-9605-9b03b8a4ed89&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-d09dd83e-82f7-4105-87d8-a2e0d4a395fc&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-badd8ffa-a751-4bd8-b90c-56fd3e1e370a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-2f606357-9e3f-4e86-a731-04e4f33c6899&quot;&gt;&#39;strstr&#39;을 실행하고 나온 결과값은 검색된 문자열 포인터 위치를 리턴하게 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5d58592c-3b55-4477-9319-d8dbada7fc8f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-7e469ca7-354d-41b4-8d15-152568d9434f&quot;&gt;말로만 설명을 하면 이해하기 어려우니 아래 그림으로 보시면 이해가 가실거에요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5d58592c-3b55-4477-9319-d8dbada7fc8f&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiKjwVD2O7KeFQH8-r9K-prLvh4RykwRKYzx6TzL02FHg5b7YiiWS4Z1Sh8IiyYBs8oXavwXgMijJ7UdEgBsMaIvBPugiZgyAusPnzX6ds_YnMJRaaUPf55bbJ68mg5IygDfqCGwpbnC-J5D82trKUl1g7n07woRuyUKw82WgAStTGU4nwNsXf9eWBw=s538&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;106&quot; data-original-width=&quot;538&quot; height=&quot;115&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiKjwVD2O7KeFQH8-r9K-prLvh4RykwRKYzx6TzL02FHg5b7YiiWS4Z1Sh8IiyYBs8oXavwXgMijJ7UdEgBsMaIvBPugiZgyAusPnzX6ds_YnMJRaaUPf55bbJ68mg5IygDfqCGwpbnC-J5D82trKUl1g7n07woRuyUKw82WgAStTGU4nwNsXf9eWBw=w584-h115&quot; width=&quot;584&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class=&quot;se-fs- se-ff-   &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5d58592c-3b55-4477-9319-d8dbada7fc8f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5d58592c-3b55-4477-9319-d8dbada7fc8f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5eea648d-569c-4fd6-bedf-019c42c53d3c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-0a7bcb9e-da86-432a-bc1f-5becbc6d6625&quot;&gt;위 그림에서 보시듯이 pFind 주소값이 sOrgSrc 보다 뒤에 있기 때문에 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-d1fc4971-eada-4596-aff7-02ebe938876f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-1c854e85-d61a-40e9-9b15-9781c1d35f8d&quot;&gt;pFind 에서 검색 시작점을 빼주면 실제 분리될 아이템의 길이가 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-57ffeb40-3c29-4db6-bfb5-c58a7165257d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-2beb60f1-a780-46d3-b017-afe5827b2c20&quot;&gt;그러면 szPtr 에 복사한후 출력합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-579a9ca6-fcea-4acb-bfd3-27b377c0f072&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-ecc9fda0-3088-4d4c-a139-63a103e368ba&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1f46a133-de7d-4d04-8f88-91478a83dce0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c5a1630f-b473-464e-bb78-33903a058283&quot;&gt;마지막값은 검색하면 &#39;NULL&#39; 이 나오기 때문에 문자열의 마지막까지 복사한후&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-a8b9a403-1142-4668-ad3f-381c9faff855&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c545731a-8c37-42d2-addd-1b24cc07530a&quot;&gt;출력하면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1fc64231-4789-47e3-98a7-021f9df93a61&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-597f7eae-6ea9-4497-8928-d2ff542c970e&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-c387a546-9fa7-478d-9582-264002b80cb5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-fbd8f92d-868b-4265-9954-087b654387f0&quot;&gt;기본적인 C 언어를 이용한 문자열 파싱을 알아 봤습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1d5414f9-6616-4e4b-803e-911ebbe63dd0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-a610da4b-146f-4b2b-b975-c716790b4531&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5d58592c-3b55-4477-9319-d8dbada7fc8f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-8f852dcc-f5c2-432c-8218-ad2aab7c78e0&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-a69ebb6e-f520-494d-b557-fc27866ac69a&quot;&gt;다음번에는 분리된 아이템(Key=Value)을 다시 분리하여 구조체에 저장한후 출력하는것을 알려 드리겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-8f852dcc-f5c2-432c-8218-ad2aab7c78e0&quot;&gt;그럼 이만.&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/852888304518262228/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/852888304518262228' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/852888304518262228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/852888304518262228'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/01/c-1.html' title='C 문자열 분리 방법 1강'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiKjwVD2O7KeFQH8-r9K-prLvh4RykwRKYzx6TzL02FHg5b7YiiWS4Z1Sh8IiyYBs8oXavwXgMijJ7UdEgBsMaIvBPugiZgyAusPnzX6ds_YnMJRaaUPf55bbJ68mg5IygDfqCGwpbnC-J5D82trKUl1g7n07woRuyUKw82WgAStTGU4nwNsXf9eWBw=s72-w584-h115-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-2551528009902933743</id><published>2022-01-23T12:24:00.005+09:00</published><updated>2022-01-23T12:24:40.545+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio Code"/><title type='text'>Visual Studio Code Java Console 개발환경 구축(Windows)</title><content type='html'>&lt;p&gt;&amp;nbsp;간단히 Java Console 개발환경 구축하는 법을 설명할까 합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a17992cd-6ee3-4ae6-8d97-b7d0fe6eab73&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-089ed4f1-31dc-4e9a-a0e4-3aca02f0b906&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-de136ee4-d0b4-4514-b1fd-c98ba1b7c9c4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-d313f9ba-63e0-428d-ae29-b5aba5e65ae4&quot;&gt;일단 첫번째로 Visual Studio Code 를 설치 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-e9a111fe-8121-457d-a20e-3bc88ea64cbf&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c6254a86-7e44-4433-8fe9-fdb26aac13cc&quot;&gt;&lt;a class=&quot;se-link&quot; href=&quot;https://code.visualstudio.com/download&quot; target=&quot;_blank&quot;&gt;https://code.visualstudio.com/download&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1933489e-8365-4d3c-9aa2-59e06acb2739&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-f2e0e153-b8c0-4cd4-9edf-5125d7368f31&quot;&gt;위 링크로 가셔서 설치 하세요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-af8aaf79-42c2-47fc-93dd-262b28b54ae9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-81f0cc27-f0fb-4b1d-aedc-392370f29975&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b861ab4e-16d3-4a07-a40d-8ed55f78e303&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-147f5ca5-72ca-48da-9d3a-46658226e1f1&quot;&gt;두번째 Java SDK 를 설치 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f07db5c3-abff-4535-927a-b78cc26d6b33&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0d5a4a43-dac8-4644-a7ec-7f17bce3d658&quot;&gt;&lt;a class=&quot;se-link&quot; href=&quot;https://www.oracle.com/java/technologies/downloads/#jdk17-windows&quot; target=&quot;_blank&quot;&gt;https://www.oracle.com/java/technologies/downloads/#jdk17-windows&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a582c403-befa-4835-97a1-3ab74d62bcb1&quot;&gt;위링크로 가셔서 Windows 탭을 선택 하신후 x64 Installer 를 다운로드 받아서 설치 하세요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEihZg6bdqvoWNxtJ1GgfrGdgDjNc6ka4cOuwdwwrsi3oDnOOxTxsb9_K0-GnpU-R7q0Yz085wRAW3lELqdTodCnn9ftR0iedVrlU2F9fdixZpGkGbH8Nb3CfFRpIuszTjkcAqggxTDUc6s-BXIDmvIoQGDbJ_mRRVnI7S1w0OAsyimIEmQfMVXnZ4Pv=s773&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;531&quot; data-original-width=&quot;773&quot; height=&quot;447&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEihZg6bdqvoWNxtJ1GgfrGdgDjNc6ka4cOuwdwwrsi3oDnOOxTxsb9_K0-GnpU-R7q0Yz085wRAW3lELqdTodCnn9ftR0iedVrlU2F9fdixZpGkGbH8Nb3CfFRpIuszTjkcAqggxTDUc6s-BXIDmvIoQGDbJ_mRRVnI7S1w0OAsyimIEmQfMVXnZ4Pv=w648-h447&quot; width=&quot;648&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-85b80475-d121-4f47-928b-bfa7b4a69249&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1f2e329f-5101-46df-8cda-bd9cc7310db0&quot;&gt;설치 하실때에는 기본 경로로 설치 하신후 마지막에 Next Step 은 안하셔도 되니 Close 누르고&amp;nbsp;&lt;/span&gt;빠져 나오면 됩니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-deb7b39f-6a6a-44c3-961b-75cd696ef39d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0322e17f-c0cb-4065-af8c-453bc86c5df5&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-ac9bb997-6a72-4e40-9200-0676a2438632&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-878aef71-fe89-4013-aff8-15303e5133e1&quot;&gt;기본적인 프로그램들은 다 설치 되었으니 이제 &quot;Hello World&quot; 를 출력하여 프린트 하는 프로그램을&amp;nbsp;&lt;/span&gt;만들어 보겠습니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-333d6ab1-17d4-44da-b784-7d4059d2868a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c9161109-8101-4348-a811-0c2949b06794&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-2ca78ed2-53e5-423b-bfb3-1ded71d72a15&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-74dd9512-0951-4e86-9fd0-e2b4bdb008e8&quot;&gt;저는 소스 경로를 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-346eaf30-f953-4314-8b6b-ba84faf40b4e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-3e46c844-acbe-4e5c-9804-dd0c82c6005f&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-cc71161f-3f51-4a90-b638-ce1eeb9113fb&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0360aeb0-10c0-4ca3-bd8c-0421f5e90047&quot;&gt;문서/Source/Java/Test01 으로 만들어 놓았습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-8616764d-3ebf-49c1-8f53-82b30f63158d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-b48b82df-cee0-47b5-9296-0997415de970&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-164b5590-fd04-46c2-9517-01cdcea63bea&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-121387c1-9c29-40a9-ba4c-f054dff22691&quot;&gt;이제 Visual Studio Code(이후 VSCode라 명칭 하겠습니다) 를 실행합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj5o-povdmkfsaYbzFTTfyULQJyTLyIxtQMl-tt23d0ApMuHEDPFcgSGc1l5tJVhxPCsAp8OKcV4SXXxwtQJAEvoJ2ONSstSJm4LPBJDZc2xZVKiX_jevbGXlTgoPLyZAr6h_PGA0FHaiFry41XuRR7Jcid-ekducrz1VXnNSx1vLT9rJ7SzRoQJur8=s773&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;680&quot; data-original-width=&quot;773&quot; height=&quot;576&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj5o-povdmkfsaYbzFTTfyULQJyTLyIxtQMl-tt23d0ApMuHEDPFcgSGc1l5tJVhxPCsAp8OKcV4SXXxwtQJAEvoJ2ONSstSJm4LPBJDZc2xZVKiX_jevbGXlTgoPLyZAr6h_PGA0FHaiFry41XuRR7Jcid-ekducrz1VXnNSx1vLT9rJ7SzRoQJur8=w653-h576&quot; width=&quot;653&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-a8b04c9b-bb40-4fd5-8b9a-2f2a7d130878&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-3dec0686-e100-4eaf-a5ff-24b5015da85e&quot;&gt;실행하고 나면 위 그림과 같은 화면이 나올겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c75ebf9e-d3b6-4347-9fe2-2698eac2aeb3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-9fa91395-09c4-4ca8-b21f-f7d71059ed9d&quot;&gt;거기서 &quot;폴더열기&quot; 를 클릭하고 아까 만들어 놓은 폴더를 지정하여 오픈 하세요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjDiZL46fExsskohlTm2hQLm8GejhwNrNuGNA_Yb9rpPxizNRjnlQmfe8E7FATz6V4KG8IBMRghWqshSzq3udBGTxlaKSabcjhZwLmKcSITuF2pv2HznIV2zOGjMFL7BEq6wNNpcvNWay336cQRCFRvtjJUGC-Hqr8dZbESbHn31F8IhZFs8re2GjL3=s773&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;681&quot; data-original-width=&quot;773&quot; height=&quot;571&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjDiZL46fExsskohlTm2hQLm8GejhwNrNuGNA_Yb9rpPxizNRjnlQmfe8E7FATz6V4KG8IBMRghWqshSzq3udBGTxlaKSabcjhZwLmKcSITuF2pv2HznIV2zOGjMFL7BEq6wNNpcvNWay336cQRCFRvtjJUGC-Hqr8dZbESbHn31F8IhZFs8re2GjL3=w648-h571&quot; width=&quot;648&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c99de356-609f-40ed-941a-ec463528f099&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a71098d4-74ed-4d85-89b2-4b5caaf5c0ca&quot;&gt;오픈하고 나면 위 화면 같은 화면이 나올겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-4622a2c6-96ad-4d78-a34e-868b264bd284&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-5e8f5335-3bd1-4421-8453-710080f2b5de&quot;&gt;거기에서 폴더 옆에 빨간색 동그라미 아이콘을 클릭하여 새파일을 생성하면 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-2d3bd256-6536-40af-b320-e33a37e463a4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-c79bab7c-5797-4eb4-90d5-9a3198289f83&quot;&gt;입력창이 뜰거고 거기에 Hello.java 라는 파일을 생성합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-80274e07-6e22-44ad-8257-234cd4779811&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-fd81b493-d04c-4510-82c1-1f0d3ea0c15a&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-cc8b2870-eb59-46c2-9e4b-0d2c85b759a4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-e1d21826-3afc-4476-85e7-e2168fd65524&quot;&gt;java 파일을 생성했기 때문에 VSCode 에서 java 프로젝트 활성화를 진행 할겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1ff40b8b-a986-480b-906d-c01ec3c053b8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-21a136e2-c945-4315-b7dd-34eed69a6fbb&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-df2f8af0-d1ab-4ff9-a083-d8ead1da85ca&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c16024fa-9a60-41ef-87c4-582fa3f6edd9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-deaa347d-8b7b-4e5e-855d-a51cbc26f4cd&quot;&gt;파일 안에 아래와 같은 코드를 입력하세요.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;class&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;Hello&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #66d9ef;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;[]&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;args&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;{&lt;/span&gt;
        &lt;span style=&quot;color: #f8f8f2;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #a6e22e;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&quot;Hello World&quot;&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;);&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f92672;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-fde37c98-60aa-478d-8ab8-7788797bdc0d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-d599d08e-3a5f-4aa4-bc30-ad6e00a8f6a4&quot;&gt;코드 입력이 끝나고 나면 저장을 합니다. (Ctrl + S)&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-77965b4d-2179-41e2-b36f-15fbc357103a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-16c48b42-e66a-40b5-8599-841d72e57c45&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-a46aa45c-c28c-4e54-bc96-cd7850b252ec&quot;&gt;입력된 코드를 간단히 실행하여 결과를 확인 하려면 VSCode 왼쪽 하단에 추가된 &quot;JAVA PROJECT&quot; 를&amp;nbsp;&lt;/span&gt;눌러 트리를 펼칩니다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEieKXVtBE9f2bXnGcO-T-1Ed4sbHUmlNP2H9Niz_phGe1BRC2C-FEYyf-IRmhaFqRGn9KC55mKjoZvle_pIVMnCWCS5IwdyptseUScJDHxGERuzU6OKKsxWP2QcmvSXJMDZEMz0jxKBF7xb4GrsMHCvmDOnP4veSH7m5nvQ9inFmQyyvTi-i7CSS19n=s783&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;783&quot; data-original-width=&quot;773&quot; height=&quot;662&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEieKXVtBE9f2bXnGcO-T-1Ed4sbHUmlNP2H9Niz_phGe1BRC2C-FEYyf-IRmhaFqRGn9KC55mKjoZvle_pIVMnCWCS5IwdyptseUScJDHxGERuzU6OKKsxWP2QcmvSXJMDZEMz0jxKBF7xb4GrsMHCvmDOnP4veSH7m5nvQ9inFmQyyvTi-i7CSS19n=w654-h662&quot; width=&quot;654&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-5f6f4759-7df2-439f-82fd-359aa9d4588e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-57e1d47f-679e-4160-9789-fae8fa1ac7cd&quot;&gt;펼치고 나면 위화면 같이 나올겁니다. 거기서 프로젝트 명이 Test01 로 나올거고 그 옆에 실행 버튼이&amp;nbsp;&lt;/span&gt;보일겁니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bd14ec97-c1dc-4eaa-8ccf-c9b559b3aa00&quot;&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1cfe81dc-1766-4a4c-b9f0-16a85882e6b2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-dd4ff536-6e0a-4140-aadb-eb312aebf9a1&quot;&gt;그것을 실행하면 Compile 후 실행하여 결과가 콘솔에 나오는것을 확인할수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/2551528009902933743/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/2551528009902933743' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/2551528009902933743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/2551528009902933743'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2022/01/visual-studio-code-java-console-windows.html' title='Visual Studio Code Java Console 개발환경 구축(Windows)'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEihZg6bdqvoWNxtJ1GgfrGdgDjNc6ka4cOuwdwwrsi3oDnOOxTxsb9_K0-GnpU-R7q0Yz085wRAW3lELqdTodCnn9ftR0iedVrlU2F9fdixZpGkGbH8Nb3CfFRpIuszTjkcAqggxTDUc6s-BXIDmvIoQGDbJ_mRRVnI7S1w0OAsyimIEmQfMVXnZ4Pv=s72-w648-h447-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-7795794579958812107</id><published>2020-11-01T11:39:00.002+09:00</published><updated>2020-11-01T11:39:20.024+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>std::string replace all</title><content type='html'>&lt;p&gt;&amp;nbsp;std::string 을 처음으로 접해보지 않은 저로서는 그냥 쓰다 보면 &lt;br /&gt;다른 FrameWork에서는 그냥 제공하는 함수도 없다는 점이 불편하네요.&lt;br /&gt;물론 최신 라이브러리에서 제공은 하는지는 모르지만 가끔은 이전 버젼에서 작업을 해야 되서​&lt;br /&gt;&lt;br /&gt;문자열 전체에서 특정 문자를 변경해야 하는 작업입니다.&lt;br /&gt;일단 소스를 보시죠~ &lt;br /&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;!--HTML generated using hilite.me--&gt;&lt;div style=&quot;background: rgb(39, 40, 34) none repeat scroll 0% 0%; border-color: gray; border-image: none 100% / 1 / 0 stretch; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14&lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style=&quot;line-height: 125%; margin: 0px;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;ReplaceStdString&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(std&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szOld,&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szNew)&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
	&lt;span style=&quot;color: #f8f8f2;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;size_type&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
	&lt;span style=&quot;color: #f8f8f2;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;size_type&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOffset&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;

	&lt;span style=&quot;color: #f8f8f2;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sPattern&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szOld;&lt;/span&gt;
	&lt;span style=&quot;color: #f8f8f2;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sReplace&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;szNew;&lt;/span&gt;

	&lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;((nPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg.find(sPattern,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOffset))&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;!=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;std&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;npos)&lt;/span&gt;
	&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
		&lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg.replace(sOrg.begin()&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nPos,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg.begin()&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sPattern.size(),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sReplace);&lt;/span&gt;
		&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nOffset&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nPos&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sReplace.size();&lt;/span&gt;
	&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;&amp;lt;위 코드는 Visual Studio 2008&amp;nbsp; Window 10 64bit 환경에서 빌드 되었습니다 &amp;gt;&lt;br /&gt;​&lt;br /&gt;&lt;br /&gt;위 소스를 보시면 sOrg라는 변수에 전체 문자열이 들어오고 szOld는 변경할 문자&lt;br /&gt;szNew는 변경 되어야할 문자를 입력 받습니다.&lt;br /&gt;전체 문자열을 뒤지면서 하나씩 찾아 변경하는 로직입니다.&lt;br /&gt;&lt;br /&gt;std::string 에서 제공하는 replace 는 시작 index와 끝 index를 찾아 변경될 문자열을 찾아 변경하는 함수 입니다.&lt;br /&gt;​&lt;br /&gt;&lt;br /&gt;그럼 ^^ &lt;br /&gt;
&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/7795794579958812107/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/7795794579958812107' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7795794579958812107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/7795794579958812107'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/11/stdstring-replace-all.html' title='std::string replace all'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-2949372495296401012</id><published>2020-09-16T17:24:00.002+09:00</published><updated>2020-09-16T17:24:21.165+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android Develop"/><category scheme="http://www.blogger.com/atom/ns#" term="Android Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><title type='text'>Android Souce Inspect 사용예</title><content type='html'>&lt;p&gt;&amp;nbsp;Android 개발을 하다 보면 기준 API를 지정하고 지정된 API 이상 사용되지 않게 작업을 합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-6fc41cc9-42a7-4974-87ba-5a1e27e86ed7&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-63e84f44-94c3-45ae-a9f4-17a3cd7e7351&quot;&gt;하지만 여러 개발자가 같이 작업을 하다 보면 이 기준이 어긋날때가 있기 때문에 이걸 검증하고 수정하는&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-f8621fb9-0c6d-44f4-ae9c-06bdd1e48ff4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-1171bde2-4a67-44ea-a1de-3e317fb2393d&quot;&gt;방법을 이야기 할까 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-eb175193-543a-41a3-9b38-c8778fb3f1bc&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-5f5354c9-616c-4561-ae26-26246c850036&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bc56d40f-4957-45f8-a5e6-7d81b4dfe57c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-62f69143-9dcc-4395-a462-573a8352acc6&quot;&gt;첫번째로 minsdk 를 지정하고 이것보다 높은 함수를 사용할때 개발을 하고 나면 빌드는 되지만 조건이 충족되지 않는 폰에서는 에러가 발생하며 앱이 크래쉬가 일어 날겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-c137dac3-c377-4ac6-9c7b-aa3afabf5974&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-630937d0-a1a0-4068-b163-43c4f62711b9&quot;&gt;검증하는 방법은&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-6e8c10a7-5f9a-4c36-9b74-78120bc2e0f8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-df4d8c87-78e3-4a09-b439-1e5f37ac4965&quot;&gt;Android Studio Menu에서 &quot;Analyze&quot; -&amp;gt; &quot;Inspect Code&quot; 를 누릅니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-34486631-67e7-4487-abca-b33af774e794&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-39ab292f-8e3b-4751-abd8-51ab3adbad03&quot;&gt;누르고 나면 한참동안 작업을 한후 결과창에 Inspect된 내용이 보일겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-cd921c36-17c7-4a01-9c40-e204cd93027a&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-37a34711-5cff-43d5-a445-881a3cc139ec&quot;&gt;위 내용에 해당하는것은 아래 경로로 가시면 확인할수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-d04e9d83-3b8f-48a1-97f5-4d4f795a5bbc&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-033b03f0-3de0-4071-b41f-9dc0b8935591&quot;&gt;Android -&amp;gt; Lint -&amp;gt; Correctness -&amp;gt; Calling new methods on older versions &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-79273507-05bb-4619-b860-873c07e60265&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-cef58450-07a1-48c9-a6d1-e301f30cb68a&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-0fe8b809-e18d-4465-9886-6b4b2a1c5d7e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-02993dcd-6126-470f-bdd5-d0a851bcee85&quot;&gt;두번쨰로는 depercate 된 API를 처리하는 찾아내어 수정하는 방법입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-c80a9e9d-0364-49cb-9701-f5370d812a22&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-2246aedd-71fd-4540-9527-fe5d509fb38d&quot;&gt;첫번쨰와 마찬가지로 Inspect Code 를 누르시고나서 결과창에&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-b211defb-c359-4f40-8307-f19f62528aa8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-792bbf64-0cfa-4a72-afde-7ff08bbd17f0&quot;&gt;Java -&amp;gt; Code maturity -&amp;gt; Deprecated API usage &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-cd02724f-7c90-4c20-a85e-7c6d7da8bea3&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-4a69b300-c709-44f3-b708-1a30cc00b9c8&quot;&gt;위 내용으로 걸러지는 내용을 수정하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bf7a7fb7-d2bf-45df-8b0c-2b2d1dcba189&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-91333eec-f19c-449b-a070-509087ca6f08&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-05ce4423-5bc1-42e8-9394-2c5227e00d1c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-8814a50f-5bcf-46b9-8ed7-26e71c020136&quot;&gt;그럼 ~~&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/2949372495296401012/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/2949372495296401012' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/2949372495296401012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/2949372495296401012'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/09/android-souce-inspect.html' title='Android Souce Inspect 사용예'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-2768989535449769958</id><published>2020-08-21T11:15:00.000+09:00</published><updated>2020-08-21T11:15:04.889+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SFTP"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>SFTP Client</title><content type='html'>&lt;p&gt;&amp;nbsp;안녕하세요.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;libssh 라이브러리를 빌드 하다 SFTP 툴을 만들어 보자 시작하게 되어 Application을 하나 만들게 되었습니다.&lt;/p&gt;&lt;p&gt;기존에 많이 쓰는 프로그램 UI를 가져 오려고 하기 했는데 아직 추가 할게 많네요 ^^&lt;/p&gt;&lt;p&gt;프로그램 링크는 아래에서 다운로드 하시면 됩니다.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://blog.naver.com/berdo_seok/222066655806&quot;&gt;SFTP Client Download&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;프로그램을 설치 하시고 나면 아래와 같은 화면이 나옵니다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_rOjOi0jDeGLWGeMDm5Zj9Bkl2xzh5rheUsSK6L2dbPaxfZw4dGBGlRHhDe9wP1CMZZDz9xVY5e43AdwLLxprlCqD6D5GCC9nU-AK5W_NnLI7l2hlv6ffvL4mK22l7IQ7cu48A5J9X24/s549/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;117&quot; data-original-width=&quot;549&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_rOjOi0jDeGLWGeMDm5Zj9Bkl2xzh5rheUsSK6L2dbPaxfZw4dGBGlRHhDe9wP1CMZZDz9xVY5e43AdwLLxprlCqD6D5GCC9nU-AK5W_NnLI7l2hlv6ffvL4mK22l7IQ7cu48A5J9X24/s0/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&quot;New Session&quot;&amp;nbsp; &amp;nbsp;: 새로운 SFTP 세션을 생성합니다.&lt;/p&gt;&lt;p&gt;&quot;Used Session&quot;&amp;nbsp; : 기존에 사용된 세션을 그룹 콤보 형태로 보여 줍니다.&lt;/p&gt;&lt;p&gt;&quot;Open Session&quot;&amp;nbsp; : 저장된 SFTP 세션을 다시 연결 합니다.&lt;/p&gt;&lt;p&gt;&quot;Change Session&quot;: 저장된 SFTP 세션에 대한 정보를 변경하거나 삭제 합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&quot;New Session&quot;을 눌러 새로운 SFTP 생성을 누르면 아내와 같은 생성 화면이 나오게 됩니다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqo0Em2fJGFFVEGIeGDZltSRWU5vM8rl6NEkYO1ev6IdHUAMBC5kC1Dx91mtOaxrwS-2P8AzAw1L6CEad50iV28C6pIygGUrr4XkGPB4sQcNHsV8sdA-O_WR7dVRrhZqJZdPP1NVXkdSs/s297/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;286&quot; data-original-width=&quot;297&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqo0Em2fJGFFVEGIeGDZltSRWU5vM8rl6NEkYO1ev6IdHUAMBC5kC1Dx91mtOaxrwS-2P8AzAw1L6CEad50iV28C6pIygGUrr4XkGPB4sQcNHsV8sdA-O_WR7dVRrhZqJZdPP1NVXkdSs/s0/2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&quot;Session Name&quot; : SFTP 세션에 대한 별명을 입력합니다.&lt;/p&gt;&lt;p&gt;&quot;Session Group&quot;: 세션을 그룹별로 관리 하기 위한 입력값이고 입력하지 않으면 &quot;Default&quot; 그룹으로 관리 됩니다.&lt;/p&gt;&lt;p&gt;&quot;Address&quot; : SFTP 주소를 입력합니다. (도메인 또는 IP4 아이피를 입력합니다.)&lt;/p&gt;&lt;p&gt;&quot;User ID&quot; : SFTP 로그인할 아이디를 입력합니다.&lt;/p&gt;&lt;p&gt;&quot;User Passwd&quot; : SFTP 패스워드를 입력합니다. 패스워드는 암호화 하여 저장은 하지만 저장은 추천하지 않습니다. ^^&lt;/p&gt;&lt;p&gt;&quot;Base Path&quot; : SFTP 세션의 기본 경로를 지정합니다. 지정하지 않을시에는 &quot;/home/userid&quot; 로 기본 지정합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;최소 입력값들을 입력하고 나면 아래와 같은 화면이 생성됩니다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihrDi0G7z-NAJNu4yNNniQILvur9i9GzsRMJvyzPwZIAJYRB0uBZ7AqJjvbMQCOg3mTE1S7NwAs3WsORdNbcp5rjcsJKheQK3XVZe_cyQsljr-PfyJyMtYW6OTAWkHqyIGkA0DzYdbWD0/s904/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;665&quot; data-original-width=&quot;904&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihrDi0G7z-NAJNu4yNNniQILvur9i9GzsRMJvyzPwZIAJYRB0uBZ7AqJjvbMQCOg3mTE1S7NwAs3WsORdNbcp5rjcsJKheQK3XVZe_cyQsljr-PfyJyMtYW6OTAWkHqyIGkA0DzYdbWD0/s640/3.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;타이틀에는 별명:주소:포트:접속아이디가 표시됩니다.&lt;/p&gt;&lt;p&gt;보시면 아시겠지만 좌측은 로컬패스를 나타내고요 우측은 SFTP 패스의 내용을 나타냅니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;각가의 뷰에는 입력가능한 경로 패스가 있습니다. 경로를 타이핑 하여 엔터를 누르면 해당 경로로 바로 이동 가능합니다.&lt;/p&gt;&lt;p&gt;툴바는 각각의 뷰에서 할수 있는 것들이 구현 되어 있습니다.&lt;/p&gt;&lt;p&gt;로컬패스에는&lt;/p&gt;&lt;p&gt;&amp;nbsp;- 업로드, 새로운폴더, 이름변경, 삭제, 상위패스로이동, 목록갱신, 복사&lt;/p&gt;&lt;p&gt;SFTP패스에는&lt;/p&gt;&lt;p&gt;&amp;nbsp;- 다운로드, 새로운폴더, 이름변경, 삭제, 상위패스로이동, 목록갱신, 복사&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;각각의 기능이 구현이 되어 있습니다.&lt;/p&gt;&lt;p&gt;로컬패스에서 마우스 우클릭시&lt;/p&gt;&lt;p&gt;아래와 같은 팝업 메뉴가 나타나게 됩니다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbS27k5wRcjakbHEvgIoCNaT4n-FfeQw0YJMtIFSSLxiau5p90lONSzrFrNyDMqk-sgoCPaUA3-3K3iCGT74oLKbuHTqwxfdAe-vNgp6zb61mHR2BNXh_-xN30cKZTlxzBRBgPEZCuSdM/s529/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;529&quot; data-original-width=&quot;444&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbS27k5wRcjakbHEvgIoCNaT4n-FfeQw0YJMtIFSSLxiau5p90lONSzrFrNyDMqk-sgoCPaUA3-3K3iCGT74oLKbuHTqwxfdAe-vNgp6zb61mHR2BNXh_-xN30cKZTlxzBRBgPEZCuSdM/s0/4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;팝업메뉴에 있는 단축키로도 기능을 처리 하실수 있습니다.&lt;/p&gt;&lt;p&gt;로컬뷰의 경우 복사/붙여 넣기는 윈도우 파일 매니져와 호환이 됩니다.&lt;/p&gt;&lt;p&gt;즉 윈도우 파일 매니져에서 파일을 복사해서 로컬패스에서 붙여 넣기를 하시면 파일 복사가 되며 반대로&lt;/p&gt;&lt;p&gt;로컬패스에서 파일을 복사한후 윈도우 파일 매니져로 붙여 넣기를 해도 동작을 동일하게 합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;SFTP패스에서 마우스 우클릭시&lt;/p&gt;&lt;p&gt;아래와 같은 팝업 메뉴가 나타나게 됩니다.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiLRjQam6Qhs4Ji0wB87Rw-EnEBgPRfF7D199BX0QzEnf8bfFG5ifYtuswPHxg4l7DwJuzICV7GkUoJTBDHmyzn49LiVw_UxcQ8wBACrHI1cBQtB-jycUof6xPYp-ADSodfpzkuuZ0yjo/s532/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;532&quot; data-original-width=&quot;451&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiLRjQam6Qhs4Ji0wB87Rw-EnEBgPRfF7D199BX0QzEnf8bfFG5ifYtuswPHxg4l7DwJuzICV7GkUoJTBDHmyzn49LiVw_UxcQ8wBACrHI1cBQtB-jycUof6xPYp-ADSodfpzkuuZ0yjo/s0/5.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;동일하게 팝업메뉴 있는 단축키로도 기능을 처리 하실수 있습니다.&lt;/p&gt;&lt;p&gt;윈도우 파일 매니져에서 파일을 복사한후 SFTP패스에서 &quot;Upload Paste&quot;를 호출 하시면 파일이 업로드 됩니다.&lt;/p&gt;&lt;p&gt;&quot;Download Copy&quot;는 윈도우 파일 매니져와는 호환이 되지 않고 현재 열려 있는 로컬 패스에 붙여 넣기를 할때&lt;/p&gt;&lt;p&gt;동작합니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;추가로 SFTP패스에서 파일 복사 붙여 넣기를 개발하여 릴리즈 할 예정입니다.&lt;/p&gt;&lt;p&gt;Drag &amp;amp; Drop도 개발하여 릴리즈 할 예정입니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;프로그램에 대한 기능 추가나 개선 사항을 댓글로 남겨 주시면 감사하겠습니다. ^^&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/2768989535449769958/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/2768989535449769958' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/2768989535449769958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/2768989535449769958'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/08/sftp-client.html' title='SFTP Client'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_rOjOi0jDeGLWGeMDm5Zj9Bkl2xzh5rheUsSK6L2dbPaxfZw4dGBGlRHhDe9wP1CMZZDz9xVY5e43AdwLLxprlCqD6D5GCC9nU-AK5W_NnLI7l2hlv6ffvL4mK22l7IQ7cu48A5J9X24/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-8167308036338713353</id><published>2020-06-15T16:01:00.000+09:00</published><updated>2020-06-15T16:01:19.143+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><category scheme="http://www.blogger.com/atom/ns#" term="WIndows 10"/><title type='text'>tor.exe 또는 calc.exe </title><content type='html'>&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-a8386d60-a9e9-47d4-9a9a-c88335f1df04&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c084c7bf-7adf-4323-8523-b4de55656daa&quot;&gt;오늘은 황당한 프로세스 때문에 반나절을 고생을 했습니다.&lt;/span&gt;​&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-d3bd5f0f-8086-445e-ad03-d84a9910261b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-0f58b139-3271-4c48-aeac-0f65a2b1b633&quot;&gt;정리는 했는데 이 프로세스가 참 교묘한 놈이더군요.. ㅡ.ㅡ&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-d3bd5f0f-8086-445e-ad03-d84a9910261b&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-54a60909-88c4-49e3-834d-24cc0310166c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-d79fd9e1-5289-454d-b596-171dabb41f77&quot;&gt;​&lt;/span&gt;일단 제 O/S 환경은 Windows 10 64비트 환경을 씁니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-45133f63-30bb-47a7-93af-5f7f230e2365&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-053e6aab-5602-4cfd-94f2-6edbcd5d5ba0&quot;&gt;​&lt;/span&gt;아직까지 윈도우 gardet 이 좋아서 쓰고 있기도 하고요.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-775d877e-db91-4f62-abc6-0d46e9642019&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-775d877e-db91-4f62-abc6-0d46e9642019&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-a647eda3-5a5c-4a0b-b654-85e5bb1bbb43&quot;&gt;​&lt;/span&gt;윈도우 업데이트 이후 부터 인거 같은데 작업하다 컴퓨터를 가만히 내버려 두면&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-3131311f-3adc-425f-9716-2554d573f78d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-757608c4-af12-4007-b1ca-c6f2d865824c&quot;&gt;​&lt;/span&gt;CPU 80% 이상 동작을 하고 메모리 또한 갑자기 2기가 이상 사용이 증가 합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-b634e27d-4f9f-46cd-83ea-b426c8bd5656&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-b634e27d-4f9f-46cd-83ea-b426c8bd5656&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-84529eb8-c97f-4fb9-b5f3-d1073014cea7&quot;&gt;​&lt;/span&gt;이상하여 작업관리자를 띄우면 다시 정상으로 돌아 갑니다. ㅡㅡ.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-bdf0e210-9f9c-4f64-81d5-26dcb688c114&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-cbdc9fed-032c-46b8-bdbd-4b9efa204759&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-b63c0574-2acb-4229-b6d6-2382e579d87f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-de3ed83a-74f7-405a-a92f-cb6043c77d03&quot;&gt;가젯중 Top5를 이용하여 사용이 급증하는놈을 찾았는데 그게 공교롭게도 &quot;calc.exe&quot; 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-19865e9a-e582-49bc-8fb5-51ee3383dcb8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-26c40132-1f9d-4846-a916-0a9cb4eb3767&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-6c163a68-6601-4ec6-951a-e82019f2dc06&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-c8b0d445-1d46-443b-af52-3379262c38be&quot;&gt;구글 검색을 다각도로 해보았는데도 해결책이 나오지 않아 &quot;process-explorer&quot; 프로그램을 띄워서&amp;nbsp;&lt;/span&gt;해당 프로세스를 잡아 보려고 했습니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-f09a307f-0fcc-4bd7-ac19-f8e96f92af6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-73502b33-0e7f-4d3e-bb3d-faedab958c3e&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-f09a307f-0fcc-4bd7-ac19-f8e96f92af6e&quot;&gt;그런데 또 해당 프로그램을 띄우면 &quot;calc.exe&quot; 가 동작을 하지 않습니다. 작업관리자 또는 process-explorer를 띄우지 않으면 다시 &quot;calc.exe&quot;가 동작을 하고요.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-21f993b0-f697-48f4-a0ca-fbe3857f37f0&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-f3e1e504-7ef3-42a7-b613-ddf2992c7905&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-23086c65-745e-4cc9-a79b-a988ab899bfe&quot;&gt;가만히 &quot;Top5&quot; 목록을 보면서 &quot;calc.exe&quot; 가 활성화 되는 시점에 &quot;tor.exe&quot; 가 올라 오면서 &quot;calc.exe&quot; 로 변경 되는것을 몇번씩 보게 되었습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-d994636f-20e0-4ae7-a39b-41c0da7aa2a4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-f6164bb4-45c0-4d98-b47f-3838bee4bb86&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-32665084-ed53-4c03-9e48-d559c56a2639&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-aba615c5-e2ce-4fbf-bf0f-60e71103aca1&quot;&gt;제가 만든 FileSearchTool 을 이용하여 C드라이브를 뒤져서 tor.exe 를 찾았고 이 프로그램이 저와 같은 경우는&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-c779a5d5-d813-4b77-98bf-db44c66a6484&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-4720d0ea-5213-4894-8740-7f8d80e0aa50&quot;&gt;&quot;C:\Users\berdo\AppData\Roaming\OpenSSL\Dependencies&quot; 여기에 있었고 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-1f1f78a5-4e62-4fd7-8eea-96bc8baa1e63&quot;&gt;해당 프로그램을 지우니 다시 재연이 되지는 않았습니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-2952e528-5bba-4331-bb6d-2152efa64651&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-da2b1449-a852-4ddb-959a-af8d7186e361&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-3bb68028-7ac9-40d6-9d07-65abdaf29615&quot;&gt;&lt;span class=&quot;se-fs- se-ff-   &quot; id=&quot;SE-20c815d8-780e-480e-bb99-aa5dda8c9d3b&quot;&gt;다시 &quot;tor.exe&quot; 로 검색을 해보니 멀웨어라고 뜨긴 하는데 윈도우 디펜더로는 걸러내지는 못하는 모양입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align- &quot; id=&quot;SE-ce4d67e1-541c-4240-9da3-3005be08e589&quot;&gt;동일한 환경때문에 고생하시는 분들이 없기를 바라면서 ..&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/8167308036338713353/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/8167308036338713353' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/8167308036338713353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/8167308036338713353'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/06/torexe-calcexe.html' title='tor.exe 또는 calc.exe '/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-6221628031650351710</id><published>2020-06-08T13:18:00.002+09:00</published><updated>2020-06-08T13:20:33.866+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><category scheme="http://www.blogger.com/atom/ns#" term="WIndows 10"/><title type='text'>Visual Studio Code C/C++ 개발환경 구축(Windows)</title><content type='html'>&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-6295fedb-9142-41da-a8d7-280b069c729c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-b78c4b76-5726-478c-94cb-a3cf73b669f0&quot;&gt;간단히 C/C++ 개발 환경을 구축하는 법을 설명할까 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1a487297-0e66-4028-9b25-0cf3ba1af7b2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-dc5a9191-a492-4ee2-9200-6b7001a7ecca&quot;&gt;​&lt;/span&gt;www.stackoverflow.com 에서 설문시 가장 많이 쓰는 개발 툴로 Visaul Studio Code가 50%넘게 투표 되었기 때문에 위 툴로 설명할까 합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1efe7033-8837-4712-bbec-1259da7d5bd5&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1efe7033-8837-4712-bbec-1259da7d5bd5&quot;&gt;시작에 앞서 두개의 툴을 설치 하셔야 합니다.&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-cc0dc92e-f075-457b-ab9f-25d1e2bcf852&quot;&gt;첫번째로 Visual Studio Code를 설치 하세요.&lt;/span&gt;&lt;/p&gt;&lt;a href=&quot;https://code.visualstudio.com/download&quot;&gt;https://code.visualstudio.com/download&lt;/a&gt;&lt;br /&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-caa66319-e478-4bb6-a9e5-94564927430c&quot;&gt;해당 페이지에 가셔서 &quot;Windows&quot; 용으로 설치 하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;두번째로 gcc 컴파일러를 설치 해야 하기 때문에 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;a href=&quot;http://mingw-w64.org/doku.php/download&quot;&gt;http://mingw-w64.org/doku.php/download&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-6db98275-c91d-4204-9f5e-b3670f6504a0&quot;&gt;위 페이지에 가셔서 아래 그림에 해당 하는것을 설치 하시기 바랍니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhklrBkJcb9lVxokgAc0QuRdd1453M3lcpno1tzXA9iG1EgFc4imiGE9nxhBBWeqmZCAqcxVtxw6a0tTakjPgVTWcE2YiOb1eZXxo3XeMJTkNbigDMyHmvDrqUAAnO7bTTPPE5nLtggIlo/s1018/mingw-w64+download.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;760&quot; data-original-width=&quot;1018&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhklrBkJcb9lVxokgAc0QuRdd1453M3lcpno1tzXA9iG1EgFc4imiGE9nxhBBWeqmZCAqcxVtxw6a0tTakjPgVTWcE2YiOb1eZXxo3XeMJTkNbigDMyHmvDrqUAAnO7bTTPPE5nLtggIlo/w320-h239/mingw-w64+download.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;설치파일을 실행 하시면 아래와 같은 환경으로 설치 하세요.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgndX8TNu1a5UbbRmhWdAvyXufLuGDqnqPeVSfhctVgGNUyOFCN2AGrGLZ8epI2fU0hJUvr7vlGmbaBg4xEna9eQl46Wla-U5isAcNwGA6eK1z8KDXnMPL9bohqR0gBbcqxBboLj0T9DHQ/s527/mingw-w64+setup.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;383&quot; data-original-width=&quot;527&quot; height=&quot;233&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgndX8TNu1a5UbbRmhWdAvyXufLuGDqnqPeVSfhctVgGNUyOFCN2AGrGLZ8epI2fU0hJUvr7vlGmbaBg4xEna9eQl46Wla-U5isAcNwGA6eK1z8KDXnMPL9bohqR0gBbcqxBboLj0T9DHQ/w320-h233/mingw-w64+setup.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f7c8f66d-1779-4cd7-87a6-753e8c61e0af&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f7c8f66d-1779-4cd7-87a6-753e8c61e0af&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f7c8f66d-1779-4cd7-87a6-753e8c61e0af&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f7c8f66d-1779-4cd7-87a6-753e8c61e0af&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-2093e78c-38a3-48b0-b7fb-a5f66b27fffe&quot;&gt;컴파일러 설치가 끝나면 컴맨드창에서 명령어를 실행해야 하기 때문에 환경 변수를 등록합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f9a10028-d5b0-440c-adc9-5afe8ee013ab&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1535ce3c-cc1e-4d82-8bc4-2c182795aeec&quot;&gt;탐색기에서 &lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-700b646d-f566-4747-a589-c0ed2072d557&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-01bb9b19-c1e1-481b-af5a-b4a56865a2ac&quot;&gt;내PC-&amp;gt; 속성 -&amp;gt; 고급 시스템 설정 -&amp;gt; 환경변수 -&amp;gt; 시스템변수 -&amp;gt; Path 를 &quot;편집&quot; 버튼을 누릅니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1d23dbdf-5d28-47b4-a3d1-acdae0ee2e96&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-30adad5c-630f-46c8-b635-792977e7aa24&quot;&gt;다음 새로 만들기를 누르신후 설치된 경로의 bin 폴더 까지 지정하여 저장합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-b866970f-70d0-4a75-a456-92ac8216ef6e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-e3acd577-0d9e-4b77-9aee-49a9acebe021&quot;&gt;&quot;C:\Program Files\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin&quot;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEn11HMpoRGm35I82ItYer66PZ7Yw6KfmoSpcf5UTYdbX5IGsGOJKwhX7z9bJGumhfxUumoIUSvzDS_PLS8OnM3GDYDoXWi1dJzFsVPp0vC7CcHpoSiI7uj4zIOruqHX0U9iI-pYoAnKg/s524/mingw-w64+setup1.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;524&quot; height=&quot;305&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEn11HMpoRGm35I82ItYer66PZ7Yw6KfmoSpcf5UTYdbX5IGsGOJKwhX7z9bJGumhfxUumoIUSvzDS_PLS8OnM3GDYDoXWi1dJzFsVPp0vC7CcHpoSiI7uj4zIOruqHX0U9iI-pYoAnKg/w320-h305/mingw-w64+setup1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-12554e12-20af-4625-ade8-ec3d41682fe9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-12554e12-20af-4625-ade8-ec3d41682fe9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-12554e12-20af-4625-ade8-ec3d41682fe9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-12554e12-20af-4625-ade8-ec3d41682fe9&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1413b78a-2e96-4625-964c-22eecdaa599e&quot;&gt;위와 같이 처리 하시고 난후 Visual Studio Code를 실행합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-96162fd0-3eea-4b08-a36e-9babc07fd63c&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-54874631-51f7-447a-ab19-942862243fc9&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-689b3255-98ba-45a3-8dea-ded89dc950e5&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-0ce6512c-3ab2-4d54-891a-aa0f8c74784d&quot;&gt;실행한후 &quot;Ctrl + `&quot; 를 누르면 하단에 콘솔창이 뜰겁니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1fbcc8b4-4de3-42a8-9416-d29cb6ddf93e&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a3063694-6f0b-4312-a1f0-5f0c7b1d315d&quot;&gt;거기서 &quot;gcc&quot; 를 입력하면 아래와 같은 에러가 뜨면 설치가 정상적으로 된것입니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSiYSG9v6phrVBvhyphenhyphen_4OoU7sgLjYcckuQ63yqTJqC_ZMIOh5MbXdBCL06yLil7J7b2U0bgoTeT4KB0sKCSqFQTkO5vpe5fh9Qb6K08B4i7HpG5eA14rmYrxTEerOwENh7wBeraNob3e7Y/s928/mingw-w64+setup2.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;900&quot; data-original-width=&quot;928&quot; height=&quot;310&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSiYSG9v6phrVBvhyphenhyphen_4OoU7sgLjYcckuQ63yqTJqC_ZMIOh5MbXdBCL06yLil7J7b2U0bgoTeT4KB0sKCSqFQTkO5vpe5fh9Qb6K08B4i7HpG5eA14rmYrxTEerOwENh7wBeraNob3e7Y/w320-h310/mingw-w64+setup2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-962890dc-e027-4ad0-9fe1-6600287baa80&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-962890dc-e027-4ad0-9fe1-6600287baa80&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-962890dc-e027-4ad0-9fe1-6600287baa80&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-962890dc-e027-4ad0-9fe1-6600287baa80&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1261f53e-9fc1-4504-b280-9b32a5458094&quot;&gt;여기 까지 되었으면 간단한 C 프로그램을 만들어 빌드하고 실행하는 방법까지 진행 해보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7aab297a-417b-4e32-bdde-7e10c284bd77&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-1c3a8204-a2fe-491d-af68-7a1ebe3ee18c&quot;&gt;새로운 파일을 만들어 &quot;hello.c&quot; 파일로 저장을 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-5e457ace-b97c-4a69-a8bb-e7fa403ee0fa&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-dd262450-24eb-4fd0-8e2d-07cde0ae95d7&quot;&gt;그리고 아래의 화면처럼 코드를 작성합니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNo6wDQz4Y-z-ApojmPsPXSMBVsfcKPN-x4jMbCoblw8BvL1MLz5X5sqvosTMdBoTsZlIHmq489pCKZfPZ0Vj-P3U12Nu2jjlq6LsnlyUvlDaxm3J3h9OyW7ZVIidjJseKIiRBjnC0h-o/s921/mingw-w64+setup3.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;902&quot; data-original-width=&quot;921&quot; height=&quot;313&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNo6wDQz4Y-z-ApojmPsPXSMBVsfcKPN-x4jMbCoblw8BvL1MLz5X5sqvosTMdBoTsZlIHmq489pCKZfPZ0Vj-P3U12Nu2jjlq6LsnlyUvlDaxm3J3h9OyW7ZVIidjJseKIiRBjnC0h-o/w320-h313/mingw-w64+setup3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-811a01b9-7522-4445-8854-b0a41992253d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-811a01b9-7522-4445-8854-b0a41992253d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-811a01b9-7522-4445-8854-b0a41992253d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-811a01b9-7522-4445-8854-b0a41992253d&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-e3c87223-dac9-4ca8-8356-66c73f122c2f&quot;&gt;코드를 다 작성하고 나면 하단의 컴맨드 창에서 &quot;gcc hello.c&quot; 를 입력하고 엔터를 칩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7ea29a56-4434-4148-a428-2e77b83532a2&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-6028378a-f5f4-4d8b-b220-da7e6c6183a2&quot;&gt;그리고 dir 명령을 입력 하시면 hello.c 와 a.exe 파일이 추가로 생성된것을 볼수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-7e087cce-bbcf-48b1-8244-a30ec06a15e8&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1deb1811-4a35-4e4e-98ea-06edf0a87887&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-a705845f-8954-4c9f-ac4d-f6c08da068ae&quot;&gt;아래 창과 같이 입력 하시면 결과가 출력되는것을 확인 할수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1deb1811-4a35-4e4e-98ea-06edf0a87887&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1deb1811-4a35-4e4e-98ea-06edf0a87887&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyLA-BmSaMYV3YWN2LEAbeq8JdRHrqup-gKuDJP7R6DssBATU9c6R5E-Z6_t1grwT617C9Azt_EnUUWfaWT0fyNWynGIe9FkCyApXLKBeRHyZx78wtSbdEgqbf3bUtg5DSC9HqB3AqAro/s928/mingw-w64+setup4.png&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;229&quot; data-original-width=&quot;928&quot; height=&quot;79&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyLA-BmSaMYV3YWN2LEAbeq8JdRHrqup-gKuDJP7R6DssBATU9c6R5E-Z6_t1grwT617C9Azt_EnUUWfaWT0fyNWynGIe9FkCyApXLKBeRHyZx78wtSbdEgqbf3bUtg5DSC9HqB3AqAro/w320-h79/mingw-w64+setup4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1deb1811-4a35-4e4e-98ea-06edf0a87887&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1deb1811-4a35-4e4e-98ea-06edf0a87887&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f7a3f9bd-7908-4f42-87f4-15f71118ca55&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f7a3f9bd-7908-4f42-87f4-15f71118ca55&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-f7a3f9bd-7908-4f42-87f4-15f71118ca55&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-f06fc9e0-cd0c-44b5-a5f4-352feb4fcbec&quot;&gt;Visual Studio Commmunity 를 설치 하시면 번거로움 없이 바로 코드를 작성 부터 시작 하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-9323fbf6-a60f-4097-9bfc-e2b8762168e4&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-2e5698e4-decf-4e26-814d-73113e7a294a&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-d19db52e-9dbf-4fee-9f86-fd56bb616cdb&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-d1d3244b-3894-4667-a0ac-1c4d4e2b63c1&quot;&gt;&lt;b&gt;Mac에서 개발 하시는 분은 XCode가 설치 되어 있으면 컴파일러를 별도로 설치 하실 필요 없이 Visual Studio Code만 설치 하셔서 동일하게 진행하시면 됩니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-ae564671-a87c-4fe7-9dc2-004d73c92818&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-8410f7fa-3632-4e5c-a50f-74ce87476df5&quot;&gt;&lt;b&gt;단 컴파일 하고 나면 윈도우는 a.exe 로 나오지만 Mac에서는 a.out 으로 나옵니다. 동일하게 ./a.out 로 입력하시면 실행되는것을 확인 하실수 있습니다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-c3d75bcc-766e-4680-97e4-772859045f17&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-b86863d7-fa93-4b92-9503-75475217683d&quot;&gt;​&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-1deb1811-4a35-4e4e-98ea-06edf0a87887&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class=&quot;se-text-paragraph se-text-paragraph-align-&quot; id=&quot;SE-d52d52a1-a717-4271-a56e-4872e40a6c0f&quot;&gt;&lt;span class=&quot;se-fs- se-ff-&quot; id=&quot;SE-64f31f5d-5d52-4759-81e6-f411b36cda6e&quot;&gt;그럼 이만 ^^&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;autosourcing-stub-extra&quot; style=&quot;opacity: 1;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/6221628031650351710/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/6221628031650351710' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6221628031650351710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6221628031650351710'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/06/visual-studio-code-cc-windows.html' title='Visual Studio Code C/C++ 개발환경 구축(Windows)'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhklrBkJcb9lVxokgAc0QuRdd1453M3lcpno1tzXA9iG1EgFc4imiGE9nxhBBWeqmZCAqcxVtxw6a0tTakjPgVTWcE2YiOb1eZXxo3XeMJTkNbigDMyHmvDrqUAAnO7bTTPPE5nLtggIlo/s72-w320-h239-c/mingw-w64+download.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-3469192877069241781</id><published>2020-04-11T10:26:00.001+09:00</published><updated>2020-04-11T10:26:13.535+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>MFC URLDecode 처리</title><content type='html'>오늘 이야기할 내용은 웹에서 넘겨져온 데이터를 처리할때 한글이 깨지거나 특수문자등이 깨지지 않게 처리 데이터를 받아 내리는 방법중 URLEncode 되어서 넘겨진 데이터를 DeCode 하는 방법을 이야기 할까 합니다.&lt;br /&gt;
&lt;br /&gt;
URLEncode 하는 방법은 아래 링크로 확인하세요.&lt;br /&gt;
&lt;div&gt;
&lt;a href=&quot;https://ansur.blogspot.com/2020/04/mfc-urlencode.html&quot; target=&quot;_blank&quot;&gt;https://ansur.blogspot.com/2020/04/mfc-urlencode.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
물론 웹에서 넘겨온 데이터가 URLEncode로 처리가 되어진 문자열 이어야 합니다.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
일단 소스부터 볼께요.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;!-- HTML generated using hilite.me --&gt;&lt;br /&gt;
&lt;div style=&quot;background: #272822; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;BYTE&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;ConByte&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;BYTE&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc)&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;57&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;?&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;55&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;48&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;CString&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;ConvertURLDecode&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(CString&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg)&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;CString&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOut;&lt;/span&gt;
 &lt;span style=&quot;color: #66d9ef;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg.GetLength()&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
 &lt;span style=&quot;color: #66d9ef;&quot;&gt;register&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL;&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutBuf&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL;&lt;/span&gt;
 &lt;span style=&quot;color: #66d9ef;&quot;&gt;register&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL;&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInBuf&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(LPBYTE)sOrg.GetBuffer(nLen);&lt;/span&gt;
 &lt;span style=&quot;color: #75715e;&quot;&gt;//alloc out buffer&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutBuf&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(LPBYTE)sOut.GetBuffer(nLen);&lt;/span&gt;

 &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pOutBuf)&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInBuf;&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutBuf;&lt;/span&gt;
  &lt;span style=&quot;color: #75715e;&quot;&gt;// do encoding&lt;/span&gt;
  &lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp)&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
   &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;%&#39;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp)&lt;/span&gt;
   &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(ConByte(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;16&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;ConByte(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;))&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
   &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
   &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp;&lt;/span&gt;
   &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
  &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;\0&#39;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOut.ReleaseBuffer();&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg.ReleaseBuffer();&lt;/span&gt;

 &lt;span style=&quot;color: #66d9ef;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOut;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: Malgun Gothic;&quot;&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
[위 소스는 Visual Studio 2017, Window 10 64bit 환경에서 빌드 되었습니다.]&lt;br /&gt;
&lt;br /&gt;
소스를 보시면 아시겠지만 URLDecode는 헥사로 변환된 문자열을 다시 바이트 문자열로 변환하는 코드 입니다.&lt;br /&gt;
&lt;br /&gt;
웹에서 넘겨진 데이터가 URLEncode로 변환 되어졌을경우 만든는 프로그램 환경이 UTF-8 환경이면 Decode 코드로만 처리가 되지만 Ansi 환경일 경우에는 UTF8 을 Ansi 로 바꾸는것을 Decode 하고 난후 처리 해야 한글 같은것을 정상적으로 처리 하실수 있습니다.&lt;br /&gt;
&lt;br /&gt;
아래 링크도 필요하시면 확인 하시기 바랍니다.&lt;br /&gt;
&lt;div&gt;
&lt;a href=&quot;https://ansur.blogspot.com/2020/04/mfc-utf8-ansi.html&quot; target=&quot;_blank&quot;&gt;https://ansur.blogspot.com/2020/04/mfc-utf8-ansi.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
그럼 ^^&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/3469192877069241781/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/3469192877069241781' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3469192877069241781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/3469192877069241781'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/04/mfc-urldecode.html' title='MFC URLDecode 처리'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-8458540747205586125</id><published>2020-04-11T10:22:00.003+09:00</published><updated>2020-04-11T10:22:58.247+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>MFC URLEncode 처리</title><content type='html'>오늘 이야기할 내용은 MFC 에서 웹으로 데이터를 보낼때 한글이 깨지거나 특수 문자 등을 처리 할때 깨지지 않고 보내기 위해서 보내는 방법중 URLEncode 처리 방법을 이야기 할까 합니다.&lt;br /&gt;
&lt;br /&gt;
라이브러리를 설치 해서 쓰면 되지만 라이브러리 때문에 빌드가 안되거나 하는 상황이 많기 때문에 직접 구현 하는 방법으로 안내 할까 합니다.&lt;br /&gt;
&lt;br /&gt;
​일단 소스 부터 볼께요.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;!-- HTML generated using hilite.me --&gt;&lt;br /&gt;
&lt;div style=&quot;background: #272822; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;BYTE&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;ConHex&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;BYTE&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc){&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;9&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;?&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;55&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;uc&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;48&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;CString&lt;/span&gt; &lt;span style=&quot;color: #a6e22e;&quot;&gt;ConvertURLEncode&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;(CString&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg)&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;CString&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOut;&lt;/span&gt;
 &lt;span style=&quot;color: #66d9ef;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg.GetLength()&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
 &lt;span style=&quot;color: #66d9ef;&quot;&gt;register&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL;&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutBuf&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL;&lt;/span&gt;
 &lt;span style=&quot;color: #66d9ef;&quot;&gt;register&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL;&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInBuf&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(LPBYTE)sOrg.GetBuffer(nLen);&lt;/span&gt;
 &lt;span style=&quot;color: #75715e;&quot;&gt;//alloc out buffer&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutBuf&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(LPBYTE)sOut.GetBuffer(nLen&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;

 &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(pOutBuf)&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInBuf;&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutBuf;&lt;/span&gt;
  &lt;span style=&quot;color: #75715e;&quot;&gt;// do encoding&lt;/span&gt;
  &lt;span style=&quot;color: #66d9ef;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp)&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
   &lt;span style=&quot;color: #66d9ef;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(isalnum(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;||&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;-&#39;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;||&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;_&#39;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;||&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;.&#39;&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp)&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp;&lt;/span&gt;
   &lt;span style=&quot;color: #66d9ef;&quot;&gt;else&lt;/span&gt;
   &lt;span style=&quot;color: #f8f8f2;&quot;&gt;{&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;%&#39;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;ConHex(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
    &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;ConHex(&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;%&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;16&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt;
   &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
   &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pInTmp&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
  &lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pOutTmp&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #e6db74;&quot;&gt;&#39;\0&#39;&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;;&lt;/span&gt;
  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOut.ReleaseBuffer();&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;
 &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOrg.ReleaseBuffer();&lt;/span&gt;

 &lt;span style=&quot;color: #66d9ef;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sOut;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: Malgun Gothic;&quot;&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
[위 소스는 Visual Studio 2017, Window 10 64bit 환경에서 빌드 되었습니다.]&lt;br /&gt;
&lt;br /&gt;
소스를 보시면 아시겠지만 URLEncode 는 숫자,영문,몇개의 특수문자 외의 문자열은 HEX 값으로 변환하여 전달하는 방법입니다.&lt;br /&gt;
&lt;br /&gt;
물론 받는 쪽에서는 DeCode를 해서 풀어야 정상적인 문자열로 확인 할수 있습니다.&lt;br /&gt;
&lt;br /&gt;
웹이랑 데이터를 주고 받기 위해서는 단순히 URLEncode 만 호출 해서 해결 할수 있지만 개발되는 프로그램 플랫폼 환경이 Ansi 환경이면 UTF8로 변환 한후 그것을 다시 URLEncode로 변환하여 전달 해야 정상적으로 웹에 전달이 됩니다.&lt;br /&gt;
&lt;br /&gt;
아래 링크도 확인 하시기 바랍니다.&lt;br /&gt;
&lt;a href=&quot;https://ansur.blogspot.com/2020/04/mfc-ansi-utf8.html&quot; target=&quot;_blank&quot;&gt;https://ansur.blogspot.com/2020/04/mfc-ansi-utf8.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
그럼 ^^</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/8458540747205586125/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/8458540747205586125' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/8458540747205586125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/8458540747205586125'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/04/mfc-urlencode.html' title='MFC URLEncode 처리'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-6302804580058676755</id><published>2020-04-04T16:44:00.002+09:00</published><updated>2020-04-04T16:44:54.410+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>MFC UTF8 문자열 Ansi 문자열 변환.</title><content type='html'>Ansi 문자열을 UTF8 문자열로 변환하는것은 아래 포스트를 확인하시면 됩니다.&lt;br /&gt;
https://ansur.blogspot.com/2020/04/mfc-ansi-utf8.html&lt;br /&gt;
&lt;br /&gt;
이번에 이야기 할것은 웹에서 데이터가 들어올때는 UTF8 코드 페이지로 기본적으로 들어 올겁니다.&lt;br /&gt;
이떄 가지고 계신 시스템이 Ansi 코드 페이지로 운영이 되시면 문자열 변환을 해야 합니다.&lt;br /&gt;
그 처리 방법에 대한 코드를 설명 하고자 합니다.&lt;br /&gt;
&lt;br /&gt;
일단 UTF8 문자열을 Ansi 문자열로 변환 하는 코드 입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- HTML generated using hilite.me --&gt;&lt;br /&gt;
&lt;div style=&quot;background: #272822; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;BSTR&lt;/span&gt;    &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrWide;&lt;/span&gt;
&lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;   &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pszAnsi;&lt;/span&gt;
&lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt;     &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength;&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;MultiByteToWideChar(CP_UTF8,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sUTF8Str,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;lstrlen(sUTF8Str)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrWide&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;SysAllocStringLen(NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;MultiByteToWideChar(CP_UTF8,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sUTF8Str,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;lstrlen(sUTF8Str)&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrWide,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength);&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;WideCharToMultiByte(CP_ACP,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrWide,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pszAnsi&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;[nLength];&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;WideCharToMultiByte(CP_ACP,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrWide,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pszAnsi,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL);&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;SysFreeString(bstrWide);&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
위 코드와 같이 변환을 하시면 마지막에 pszAnsi 포인터에 담긴 변수의 값을 시스템 내부에서 사용 하시면 됩니다.&lt;br /&gt;&lt;br /&gt;코드의 처리는 먼저 UTF8로 들어온 문자열을 UniCode 형태로 변환을 합니다.&lt;br /&gt;그다음 UniCode로 변환된 값을 다시 멀티 바이트로 변환 하는데 이떄 Ansi 코드 페이지를 이용하여 변환 하는 방식입니다.&lt;br /&gt;&lt;br /&gt;그럼 ^^;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/6302804580058676755/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/6302804580058676755' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6302804580058676755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/6302804580058676755'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/04/mfc-utf8-ansi.html' title='MFC UTF8 문자열 Ansi 문자열 변환.'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-952506371093502665</id><published>2020-04-04T16:42:00.002+09:00</published><updated>2020-04-04T16:42:46.433+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="MFC"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Window"/><title type='text'>MFC Ansi 문자열 UTF8 문자열 변환</title><content type='html'>MFC는 오래된 플랫폼이죠.&lt;br /&gt;
&lt;br /&gt;
그래도 이걸로 먹고 산지가 오래 되어서 ^^&lt;br /&gt;
요즘들어 웹이랑 데이터를 주고 받는 일이 많다 보니 웹에서는 UTF8을 기본 문자 코드로 쓰기 때문에 MFC 이전 프로젝트를 쓰시는 한글 같은것을 주고 받을때 문제가 생기기 마련입니다.​&lt;br /&gt;
&lt;br /&gt;
일단 Ansi 문자열을 UTF8 문자열로 변환 하는 코드 입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- HTML generated using hilite.me --&gt;&lt;br /&gt;
&lt;div style=&quot;background: #272822; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;int&lt;/span&gt;  &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength2;&lt;/span&gt;
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;BSTR&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrCode;&lt;/span&gt; 
&lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pszUTFCode&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL;&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;MultiByteToWideChar(CP_ACP,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sAnsiStr,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;lstrlen(sAnsiStr),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL);&lt;/span&gt; 
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrCode&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;SysAllocStringLen(NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength);&lt;/span&gt; 
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;MultiByteToWideChar(CP_ACP,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;sAnsiStr,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;lstrlen(sAnsiStr),&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrCode,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength);&lt;/span&gt;

&lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength2&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;WideCharToMultiByte(CP_UTF8,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrCode,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pszUTFCode,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL);&lt;/span&gt; 
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;pszUTFCode&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #66d9ef;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;)malloc(nLength2&lt;/span&gt;&lt;span style=&quot;color: #f92672;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;);&lt;/span&gt; 
&lt;span style=&quot;color: #f8f8f2;&quot;&gt;WideCharToMultiByte(CP_UTF8,&lt;/span&gt; &lt;span style=&quot;color: #ae81ff;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;bstrCode,&lt;/span&gt; &lt;span style=&quot;color: #f92672;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #ae81ff;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #f8f8f2;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;pszUTFCode,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;nLength2,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL,&lt;/span&gt; &lt;span style=&quot;color: #f8f8f2;&quot;&gt;NULL);&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
위 코드와 같이 변환을 하시면 마지막에 pszUTF8 포인터에 담긴 변수의 값을 웹쪽에 전달을 하면 UTF8 형태의 문자열로 전달할수 있습니다.&lt;br /&gt;&lt;br /&gt;코드의 처리는 먼저 멀티바이트 Ansi 코드를 UniCode로 변환을 합니다.&lt;br /&gt;그다음 UniCode로 변환된 값을 다시 멀티 바이트로 변환 하는데 이때 UTF8 코드 페이지를 이용하여 변환 하는 방식 입니다.&lt;br /&gt;&lt;br /&gt;그럼 ^^;</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/952506371093502665/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/952506371093502665' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/952506371093502665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/952506371093502665'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/04/mfc-ansi-utf8.html' title='MFC Ansi 문자열 UTF8 문자열 변환'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4564488215411057310.post-5981266252472264758</id><published>2020-04-02T10:53:00.003+09:00</published><updated>2020-04-02T10:53:50.829+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C/C++"/><category scheme="http://www.blogger.com/atom/ns#" term="VIsual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="WIndows 10"/><title type='text'>Window C++ 가용 메모리 확보하기 (Not MFC)</title><content type='html'>&lt;a href=&quot;https://ansur.blogspot.com/2020/04/window-c.html&quot;&gt;https://ansur.blogspot.com/2020/04/window-c.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
여기에서 MFC 기반으로 사용된 가용 메모리 확보를 알아 보았습니다.&lt;br /&gt;
하지만 MFC를 쓰지 않고 사용 하는 방법을 알아 보겠습니다.&lt;br /&gt;
&lt;br /&gt;
일단 코드 부터 확인 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- HTML generated using hilite.me --&gt;&lt;br /&gt;
&lt;div style=&quot;background: #202020; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;&quot;&gt;
&lt;pre style=&quot;line-height: 125%; margin: 0;&quot;&gt;&lt;span style=&quot;color: #cd2828; font-weight: bold;&quot;&gt;#include &amp;lt;new&amp;gt;&lt;/span&gt;

&lt;span style=&quot;color: #d0d0d0;&quot;&gt;MEMORYSTATUSEX&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;status;&lt;/span&gt;
&lt;span style=&quot;color: #d0d0d0;&quot;&gt;status.dwLength&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;(status);&lt;/span&gt;
&lt;span style=&quot;color: #d0d0d0;&quot;&gt;GlobalMemoryStatusEx(&amp;amp;status);&lt;/span&gt;

&lt;span style=&quot;color: #d0d0d0;&quot;&gt;UINT&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;nUsageMemSize&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;status.ullAvailVirtual;&lt;/span&gt;
&lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;double&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;fMemPercent&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #3677a9;&quot;&gt;0.0&lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;;&lt;/span&gt;

&lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #24909d;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;)&lt;/span&gt;
&lt;span style=&quot;color: #d0d0d0;&quot;&gt;{&lt;/span&gt;  
 &lt;span style=&quot;color: #d0d0d0;&quot;&gt;LPBYTE&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;lpChk&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;(std::nothrow)&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;BYTE[nUsageMemSize];&lt;/span&gt;
 &lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;(lpChk&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;nullptr)&lt;/span&gt;
 &lt;span style=&quot;color: #d0d0d0;&quot;&gt;{&lt;/span&gt;
  &lt;span style=&quot;color: #d0d0d0;&quot;&gt;fMemPercent&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;fMemPercent&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #3677a9;&quot;&gt;0.0&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;?&lt;/span&gt; &lt;span style=&quot;color: #3677a9;&quot;&gt;0.1&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;fMemPercent*&lt;/span&gt;&lt;span style=&quot;color: #3677a9;&quot;&gt;0.1&lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;;&lt;/span&gt;
  &lt;span style=&quot;color: #d0d0d0;&quot;&gt;nUsageMemSize&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;(UINT)(status.ullAvailVirtual&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;fMemPercent);&lt;/span&gt;
  &lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;(nUsageMemSize&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;nMinBuff)&lt;/span&gt;
   &lt;span style=&quot;color: #d0d0d0;&quot;&gt;nUsageMemSize&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;nMinBuff;&lt;/span&gt;
 &lt;span style=&quot;color: #d0d0d0;&quot;&gt;}&lt;/span&gt;
 &lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;else&lt;/span&gt;
 &lt;span style=&quot;color: #d0d0d0;&quot;&gt;{&lt;/span&gt;
  &lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;delete&lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;[]&lt;/span&gt; &lt;span style=&quot;color: #d0d0d0;&quot;&gt;lpChk;&lt;/span&gt;
  &lt;span style=&quot;color: #6ab825; font-weight: bold;&quot;&gt;break&lt;/span&gt;&lt;span style=&quot;color: #d0d0d0;&quot;&gt;;&lt;/span&gt;
 &lt;span style=&quot;color: #d0d0d0;&quot;&gt;}&lt;/span&gt;
&lt;span style=&quot;color: #d0d0d0;&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&amp;lt;위 코드는 Visual Studio 2013 Window 10 64bit에서 테스트 하였습니다&amp;gt;&lt;br /&gt;&lt;br /&gt;기존의 포스팅 된 내용은 try catch 를 이용하여 처리를 하였는데 위 처리 방법은 std::nothrow 를 이용하여&lt;br /&gt;exception 을 발생 시키지 않는 데신 메모리를 할당할수 없으면 nullptr 을 리턴 하는 점 입니다.&lt;br /&gt;​&lt;br /&gt;&lt;br /&gt;그 이후 처리 방법은 이전 포스팅을 보시면 될거 같네요 ^^</content><link rel='replies' type='application/atom+xml' href='http://ansur.blogspot.com/feeds/5981266252472264758/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/4564488215411057310/5981266252472264758' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/5981266252472264758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4564488215411057310/posts/default/5981266252472264758'/><link rel='alternate' type='text/html' href='http://ansur.blogspot.com/2020/04/window-c-not-mfc.html' title='Window C++ 가용 메모리 확보하기 (Not MFC)'/><author><name>Berdo</name><uri>http://www.blogger.com/profile/13127661766386244280</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>