336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

file :

 

AutoTags.exe



SampleCode.7z





작업 기간 : 9월1일 (1일간)


작업 인원 : 1인


사용법


1. 프로그램 실행.









2. 지우고 싶은 태그 문자열 드래그 후 복사

 2-1



 2-2












3. delete # 클릭.




4. Copy 클릭.




5. 웹으로 돌아와 태그 창에 클릭후 Ctrl  + V 를 눌러 붙여 넣어 줍니다.





#Auto Tag, #해쉬태그 삭제



'Portfolio' 카테고리의 다른 글

Cocos2DX - 2D Shooting Game  (0) 2017.10.23
2D Shooting Game  (0) 2017.09.28
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

algorithm : 알고리즘.


allocator : 할당자.


ANSI/ISO C++ Committee : ANSI_ISO C++ 위원회.


ANSI/ISO C++ Standard  : ANSI_ISO C++ 표준.


ASCII : 아스키.


associative container : 연관 컨테이너.


back insert iterator : 후위 삽입 반복자.


bidirectional iterator : 양방향 반복자.


boolean value : boolean 값.


character : 문자.


character classification : 한정자.


class : 클래스.


comparison object  : 비교 객체.


comparison operation : 비교 연산.


complete specialization : 완전 전문화.


computed assignment operator : 계산된 할장 연산자.


constant iterator : 상수 반복자.


constant reference : 상수 레퍼런스.


constant time : 상수 시간.


constructor : 생성자.


container : 컨테이너.


container template parameter : 컨테이너 템플릿 인자.


control structures : 제어 구조들.


copy constructor : 복사 생성자.


Decimal places : 소수점 아래 자리수.


destructor : 소멸자.


dynamic array : 동적 배열.


encapsulation : 캡슐화.


extensibility : 확정 가능성.


external represention : 외부 표현.


flush : 방출.


formatting : 형식화.


forward declaration : 전방위 선언.


forward iterator : 전방향 반복자.


forward insert iterator : 전위 삽입 반복자


function adaptor : 함수 어댑터.


function object : 함수-객체.



function template : 함수 템플릿.


generalized numeric algorithm : 범용 수치 알고리즘.


generic : 제너릭한.


generic algorithm : 제너릭 알고리즘


global operation : 전역 연산.


header file : 헤더 파일.


I/O stream :  I/O 스트림.( Input / Output)


implicit conversion : 암시적인 변환.


input iterator : 입력 반복자.


insert iterator : 삽입 반복자.


insert mode : 삽입 모드.


instantiations : 인스턴스화.


interchangedability : 호환 가능성.


international Standard for C++ : C++국제 표준.


iostream : 입출력 스트림.


istream iterator : 입력 스트림 반복자.


iterator : 반복자.


lexicographical order : 사전식 순서.,


line-by-line : 라인별.


linear time :  선형 소요 시간.


linked list :  링크드 리스트.


localization facilities : 지역화 기능.


logarithmic time : 로그 소요 시간.


logical operation : 논리 연산.


member function template : 멤버 함수 템플릿.


nondecreasing (ascending) order : 오름 차순.


nonincreasing (descending) order : 내림 차순.


numeric algorithm : 수치 알고리즘.


object-oriented programing : 객체지향 프로그래밍.


operand : 피연산자.


operator : 연산자.


ostream iterator : 출력 스트림 반복자.


parameterization : 파라미터화.


partial specialization : 부분 전문화.,


permutation : 순열, 조합.


placeholder : 위치 부유자.


predicate : 조건자.


quadratic time : 이차 함수적 소요 시간.


quick sort : 퀵 소트.


reallocation : 재할당.


retrun : 반환.


reusable component : 재사용 가능 컴포넌트.


reverse iterator : 역방향 반복자.


scientific notation : 과학기술용 표기법.


sequence algorithm : 시퀀스 알고리즘.


sequence conteiner : 시퀀스 컨테이너.


stack : 스택.


string : 스트링, 문자열.


subset : 일부분, 서브셋.


thread : 쓰레드.


thread safety : 쓰레드 안정성.


traits : 특성.


translation unit : 번역 단위.


virtual fuction : 가상 함수.


worst-case time : 최악 소요 시간. 



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. fseek 함수를 대체 하여 fsetpos를 사용할 수 있다.


2. ftell 함수를 대체 하여 fgetpos를 사용할 수 있다.


3. fpos_t 형 자료를 쓰며 정수를 기록할수 있고 기준 점은 첫 시작 포인터 이다


4. write 모드 에서 사용해야 한다.


5. 원형 


int fgetpos(FILE *stream, fpos_t *pos)


int fsetpos(FILE *stream, const fpos_t *pos)




소스코드: main.c


#include <stdio.h>




void main(void)


{


int returnValue = 0;


FILE *write = 0, *read = 0;

fpos_t pos = 0 , move = 0;


char szBuffer[256] = { 0, };




fopen_s(&write, "E:\\300\\113\\file.txt", "w+");




if (write == NULL)


{


puts("fail : create file");


}


else


{

fgetpos(write, &pos);


printf_s("기록 전 파일 포인터의 위치 : %d\n", pos );


fputs("write text", write);


puts("write text");


fgetpos(write, &pos);


printf_s("기록 후 파일 포인터의 위치 : %d\n", pos);




puts("fset pos 를 이용해 파일 위치를 처음 이동");


move = 0;

fsetpos(write, &move);


//returnValue = fseek(write, 6, SEEK_SET);

move = 6;

fsetpos(write, &move);


fgetpos(write, &pos);

printf_s(" fsetpos : move (6), 호출 후 파일 포인터의 위치 : %d\n", pos);


fputs("call fsetpos : 6 ", write);


fgetpos(write, &pos);


printf_s("마지막 포인터 위치 : %d \n", pos);


fclose(write);



// 파일 읽기 모두로 생성하여  확인


fopen_s(&read, "E:\\300\\113\\file.txt", "r");


if (read == NULL)


{


puts("faild read file");


}


else


{


fgets(szBuffer, sizeof(szBuffer), read);


puts(szBuffer);


fclose(read);


}


}

}




결과





#파일포인터구하기,#fsetpos,#fgetpos,#프로그램입문,#c언어,#c언어입문

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. 파일 포인터를 내마음 대로 옮길수 있다.


2. 파일 끝부분 이상으로 기록할 경우. 파일 끝 다음으로 기록되어 의도하지 않게 값이 저장 안 될 수 있다.


3. 원형 과 파라메터 

     int fseek( FILE *stream, long offset, int origin)

stream :  파일

offset : 파일 포인터의 이동값(1 칸이 1byte)

origin : 어디서 부터 포일 포인터를 움직일지에 대한 플래그 값


origin 에 들어 갈수 있는 값

SEEK_SET (값 : 0) : 파일 포인터를 처음으로 부터

SEEK_CUR (값 : 1) : 현재 파일 포인터가 있는 곳 부터

SEEK_END (값 : 2) : 파일 끝부분 부터



offset 값은 - 와 + 부호를 가지고 전진과 후진을 할 수 있다.


example :

fseek(write, -3, SEEK_END)

-파일 끝부분 부터 처음 방향으로 3칸 간다.



fseek(write, 0, SEEK_SET)

-파일 포인터를 처음으로부터 끝방향으로 0칸 간다.



fseek(write, 8, SEEK_CUR)

-현재 파일 포인터가 있는 곳 부터 끝방향으로 8칸 간다.





소스 코드 : main.c

#include <stdio.h>


void main(void)

{

int returnValue = 0;

FILE *write = 0, *read = 0;

char szBuffer[256] = { 0, };


fopen_s(&write, "E:\\300\\112\\file.txt", "w+");


if (write == NULL)

{

puts("fail : create file");

}

else

{

printf_s("기록 전 파일 포인터의 위치 : %d\n", ftell(write));

fputs("write text", write);

puts("write text");

printf_s("기록 후 파일 포인터의 위치 : %d\n", ftell(write));


puts(" 파일 위치를 처음 이동");

returnValue =fseek(write, 6, SEEK_SET);


printf_s(" call fseek : 6, SEEK_SET 호출 후 파일 포인터의 위치 : %d\n", ftell(write));

fputs("call fseek : 6, SEEK_SET  ", write);

fclose(write);



// 파일 읽기 모두로 생성하여  확인

fopen_s(&read, "E:\\300\\112\\file.txt", "r");

if (read == NULL)

{

puts("faild read file");

}

else

{

fgets(szBuffer, sizeof(szBuffer), read);


puts(szBuffer);



fclose(read);


}

}

}




결과



#c언어입분, #C언어, #fseek, #SEEK_SET, #SEEK_CUR, #SEEK_END, #파일포인터이동



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

주의 사항 : 


사용시 전에 기록된 내용이 모두 지워 집니다.





소스 코드 : main.c

#include <stdio.h>


void main(void)

{

FILE *write = 0, *read = 0;

char szBuffer[256] = { 0, };


fopen_s(&write, "E:\\300\\111\\file.txt", "w+");


if (write == NULL)

{

puts("fail : create file");

}

else

{

printf_s("기록 전 파일 포인터의 위치 : %d\n", ftell(write));

fputs("write text", write);

puts("write text");

printf_s("기록 후 파일 포인터의 위치 : %d\n", ftell(write));

puts(" 파일 위치를 처음 이동");

rewind(write);

printf_s("rewind 호출 후 파일 포인터의 위치 : %d\n", ftell(write));

fputs("call rewind ", write);

fclose(write);



// 파일 읽기 모두로 생성하여  확인

fopen_s(&read, "E:\\300\\111\\file.txt", "r");

if (read == NULL)

{

puts("faild read file");

}

else

{

fgets(szBuffer,sizeof(szBuffer),read);


puts(szBuffer);



fclose(read);


}

}

}





결과



#c언어입문,#c언어배우기,#c언어초보,#파일포인터를처음으로,#rewind

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. 파일 포인터는 현재 읽거나 쓸 위치를 값을 가르키는 것.


2. 파일을 새로 생성하거나 읽기모드로 개방한 경우 파일포인터는 0값


3. 원형 : long ftell(FILE *stream) 




소스코드 : main.c

#include <stdio.h>


void main(void)

{

FILE *write = 0, *read = 0;

char szBuffer[256] = { 0, };


fopen_s(&write, "E:\\300\\110\\file.txt", "w+");


if (write == NULL)

{

puts("fail : create file");

}

else

{

printf_s("기록 전 파일 포인터의 위치 : %d\n",ftell(write));

fputs("write text", write);

puts("write text");

printf_s("기록 후 파일 포인터의 위치 : %d\n", ftell(write));


fclose(write);

}

}




결과



#c언어입문, #c언어기초, #파일포인터구하기, #ftell



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

개념 : 


1. 파일 버퍼를 일정 크기 만큼 채우지 않고 비운다.


2. 표준 입- 출력 (stdin, stdout) 버퍼를 비운다.


사용 이유 : 


데이터는 파일에 저장되기 전 임시 버퍼에 기록이 됩니다. 갑작스럽게 전원이 차단되면 임시 버퍼의 내용이 기록 되지 않습니다.  하지만 fflush를 호출


하여 버퍼를 즉시 비우고 바로 내용을 기록할 수 있습니다. 예를 들어 메모장에 텍스트를 입력하고 저장하지 않고 강제 종료를 하게 된다면 기록되지 


않는 것과도 같습니다.



소스 코드 :  main.c

#include <stdio.h>


void main(void)

{

FILE *write = 0, *read =  0;

char szBuffer[256] = { 0, };


fopen_s(&write, "E:\\300\\109\\file.txt", "w+" );


if (write == NULL)

{

puts("fail : create file");

}

else

{

fputs("write text \n", write);

puts("success : write file");


puts("call fflush");

fflush(write);// 즉시 "write text" 기록한다.

fclose(write);

fopen_s(&read, "E:\\300\\109\\file.txt", "r");

if (read == 0)

{

puts("fail : read file");

}

else

{

puts("success : read file");

fgets(szBuffer, 256, read);

puts(szBuffer);



fgets(szBuffer, 256, read);

printf("%s", szBuffer);


fclose(read); 

}



}

}



결과  



#c언어입문,#c언어,#파일버퍼비우기,#fflush,#임시저장구현



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
목표 : 

파일을 특정 형식으로 쓰고 읽는다.


소스코드 : main.c
#include <stdio.h>

#define NUMBER_INIT -1

void main(void)
{

FILE *write = 0;
FILE *read = 0;

int write_number = 20170726;
int read_number = NUMBER_INIT;

fopen_s(&write, "E:\\300\\108\\file.txt", "w+");

if (write == NULL)
{
puts("faile : create file");
}
else
{
puts("success : create file");
fprintf_s(write, "%d", write_number);

fclose(write);
}

fopen_s(&read, "E:\\300\\108\\file.txt", "r");

if (read == NULL)
{
puts("fail : read file");
}
else
{
puts("success : read file");
fscanf_s(read, "%d", &read_number);
printf("read number : %d \n", read_number);

fclose(read);
}
}



결과



#파일형식화되게쓰기, #fprintf_s, #fscanf_s


336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
목표 : 

파일을 특정 영역에 생성하여 문자열로 기록한 다음 다시 읽어 들여 화면에 표시해보자.


소스 코드 : main.c
#include <stdio.h>

void main(void)
{
FILE *write = 0;
FILE *read = 0;
char szBuffer[256] = { 0, };

fopen_s(&write, "E:\\300\\107\\file.txt", "w+");

if (write == NULL)
{
puts("file 생성을 할수 없습니다.");
}
else
{
puts("file 생성 성공");
puts("--------------");
fputs("create file \n", write);
fclose(write);
}


fopen_s(&read, "E:\\300\\107\\file.txt", "r");

if (read == NULL)
{
puts("file 읽기 실패");
}
else
{

fgets(szBuffer, 256, read); // 256은 버퍼의 최대 크기 입니다.

puts("file에서 읽은 내용입니다.");
puts(szBuffer);
fclose(read);
}

}



결과



#fputs, #fgets, #파일읽고쓰기



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

목표 : 

문자한개씩 기록하고 이기록한 코드를 출력하는 프로그램을 만들어보고 실재 있는지도 확인한다.



소스코드 : main.c

#include <stdio.h>


void main(void)

{

FILE *pText = NULL;

int count = 0;

int temp = 0;


fopen_s(&pText, "c:\\example\\Text.txt", "w+"); // 모드 w+를 없으면 만들어서 써라입니다. w 는 그냥 쓰기모드입니다



if (pText == NULL)

{

puts("text 파일 생성 실패");

}

else

{

puts("text 파일 생성 성공");


//문자 하나씩 기록

fputc('L', pText);

fputc('e', pText);

fputc('e', pText);

fputc('J', pText);

fputc('u', pText);

fputc('n', pText);

fputc('M', pText);

fputc('o', pText);

fputc('\n', pText);//개행문자


  //다썻으니 한번 닫어줍니다.

fclose(pText);


// 다시 읽어들여서 반복문을 통해서 콘솔창에 출력을 해봅니다.

fopen_s(&pText, "c:\\example\\Text.txt", "r"); // 모드를 r로 해줍니다. read의 약자이겠지요


while (count < 9)

{

temp = fgetc(pText);

putchar(temp);

count++;

}


fclose(pText);//당연히 열었으니 닫아줍니다.

}


}




결과





 #c언어, #c언어입문, #프로그램입문, #한문자씩읽고쓰기,#fgetc,#fputc

 



+ Recent posts