๋ฐ์ํ ์ ์ฒด ๊ธ35 [C : ls] ls ์ต์ ์ธ์์ฒ๋ฆฌ #getopts /* OPTS์ ์ฃผ์ด์ง ์ต์ ์ ๋ํด ARGV(ํ๋ก๊ทธ๋จ ์ด๋ฆ์ ๋บ ARGC)์ ์ธ์๋ฅผ ์ฒ๋ฆฌํ๋ ํจ์์ ์ ์์ ํ๋กํ ํ์ ์ ๊ฐ์ ธ์ต๋๋ค. ๋ฐฉ๊ธ ์ฝ์ OPTS์์ ์ต์ ๋ฌธ์๋ฅผ ๋ฐํํฉ๋๋ค. ๋ ์ด์ ์ต์ ์ด ์์ผ๋ฉด -1์ ๋ฐํํฉ๋๋ค. ์ธ์ํ ์ ์๋ ์ต์ ๋๋ ์ธ์๊ฐ ๋๋ฝ๋ ์ต์ ์ ๊ฒฝ์ฐ ์ต์ ๋ฌธ์๋ก 'optopt'๊ฐ ์ค์ ๋๊ณ '?'๊ฐ ๋ฐํ๋ฉ๋๋ค. OPTS ๋ฌธ์์ด์ ์ธ์๋๋ ์ต์ ๋ฌธ์์ ๋ชฉ๋ก์ด๋ฉฐ, ์ ํ์ ์ผ๋ก ์ฝ๋ก ์ด ๋ค์ ์์ ํด๋น ๋ฌธ์๊ฐ ์ธ์๋ฅผ ๋ฐ๋๋ก ์ง์ ํ์ฌ 'optarg'์ ๋ฐฐ์นํฉ๋๋ค. OPTS์ ๋ฌธ์ ๋ค์ ์ฝ๋ก ๋ ๊ฐ๊ฐ ์ค๋ ๊ฒฝ์ฐ ํด๋น ์ธ์๋ ์ ํ ์ฌํญ์ ๋๋ค. ์ด ๋์์ GNU 'getopt'์๋ง ํด๋น๋ฉ๋๋ค. ์ธ์ '--'์ ์ธ์ ๊ฒ์์ ์กฐ๊ธฐ์ ์ข ๋ฃํ์ฌ ๋ ์ด์ ์ต์ ์ด ์์์ 'getopt'์ ๋ช ์์ ์ผ๋ก ์๋ฆฝ๋.. 2023. 12. 17. [C : ls] C์ธ์ด๋ก ls ๊ตฌํํ๊ธฐ #dirent ls๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์ฌ์ฉ ํ dirent์ ๋ํด ์์๋ด directory ๋ฅผ ์ด๊ธฐ ์ํด opendir() ํจ์๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์๋ ๋๋ ํฐ๋ฆฌ๊ฒฝ๋ก๋ฅผ ๋ฐ๊ณ , ๋๋ ํฐ๋ฆฌ๋ฅผ ์ด ์ ์์ผ๋ฉด DIR *, ์ด ์ ์์ผ๋ฉด NULL ๋ฐํ /* Open a directory stream on NAME. Return a DIR stream on the directory, or NULL if it could not be opened. This function is a possible cancellation point and therefore not marked with __THROW. */ extern DIR *opendir (const char *__name) __nonnull ((1)); DIR์ ๋ญ์ง ? /* This i.. 2023. 12. 16. [C : ctags] ctags ์ค์น #universal-ctags ctags ์๋๊ณ universal-ctags ์ค๋๋ง์ C์ธ์ด๋ฅผ ๋ค์๋ณด๋ฉด์.. ctags๋ฅผ ์ฐ๋ ค๊ณ ํ๋๋ ์ค์น๊ฐ ์๋์ด ์์ด์ ์ค์นํ๋ ค๊ณ ํ๋๋ฐ.. ๐ฅ ์๋๋ฌธ์ ํจํค์ง๊ฐ ์ ์จ !!! ๐ก E: Package 'ctags' has no installation candidate mimi@mimi:~/Mimi/lang/c$ sudo apt-get install -y ctags Reading package lists... Done Building dependency tree... Done Reading state information... Done Package ctags is a virtual package provided by: exuberant-ctags 1:5.9~svn20110310-16ubuntu0.2.. 2023. 12. 16. [C : echo] ํฐ๋ฏธ๋๋ก ์ ๋ ฅ๋ฐ์ ๊ฐ ์ถ๋ ฅํ๊ธฐ #argc #argv echo๋ฅผ c์ธ์ด๋ก ๊ตฌํํด๋ณด๊ณ ์ ํจ ! mimi@mimi:~/Mimi/lang/c$ echo aaa bbb ccc aaa bbb ccc ๋ช ๋ น๊ณผ ํจ๊ป ์ ๋ ฅ๋ฐ์ ์ธ์๋ค์ ๊ทธ๋๋ก ์ถ๋ ฅํด์ฃผ๊ธฐ ! ์ ๋ ฅ๋ฐ์ ์ธ์์ ๊ธธ์ด๋ ์ด๋ป๊ฒ ์์ง ? int argc ์ ๋ ฅ๋ฐ์ ์ธ์์ ๋ด์ฉ์ ์ด๋ป๊ฒ ์์ง ? char* argv[] (๋๋ char** argv) ๊ทธ๋ผ ์ด๊ฑธ ์ด๋ป๊ฒ ์ฐ์ง ? main ํจ์์์ int argc์ char* argv[] ๋ฅผ ์ธ์๋ก ๋ฐ๋๋ก ์์ฑํ๊ธฐ ! #include int main(int argc, char* argv[]) { // ์ฝ๋์์ฑ return 0; } argc๋ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ํฐ๋ฏธ๋์์ ๋ช ๋ น์ผ๋ก ์ ๋ ฅ๋ ๊ฐ์๋ฅผ ์ธ์ด์ฃผ๊ณ argv๋ ์ ๋ ฅ๋ ๋ด์ฉ์ ๋ฌธ์์ด๋ก ์ ์ฅํด์ ๊ฐ์ง๊ฒ ๋จ ! argc๋ ๊ฐ์๋ฅผ .. 2023. 12. 16. ์ด์ 1 2 3 4 5 6 7 ยทยทยท 9 ๋ค์ ๋ฐ์ํ