none
컴파일시 오류 & C++실행창에 가로로 80 이상 출력하는 방법 & 배경음악을 넣는 방법 RRS feed

  • 질문

  • 안녕하세요. 저는 막 c++에 입문해서 지금 7장 함수를 배우는 학생입니다. 이번에 프로그램을 만들고 싶어서 시도하다가 여러 오

      

    류에 부딪혀서 고수님들께 자문을 구합니다.

     

    #include <stdio.h>

    int main(void)
    {
     printf("1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");

     

    //1234567890 10번 반복한 것임 즉 100자

     return 0;
    }

     

    위와 같이 소스를 컴파일 한 다음 실행하면은 100자를 썼는데 실행창에 가로로 80자 밖에 나오지 않습니다. 나머지 20자는 아래 줄로 가구요.

     

    또 화면을 크게 하고 싶은데 크게 하는것을 눌러도 세로로만 커질뿐 가로는 커지지 않습니다

     

    혹시 가로로 80자 이상 나오게 하는 방법이 있나요?

     

    또한 글씨 크기를 변환 시킬 수 있는 방법이 있을까요? 글씨 크기를 작게해서 한 줄에 많은 글자가 들어가게 하고 싶습니다.

     

    마지막으로 printf()함수로 출력을 할 때 printf("%%d"); 를 적으면 %d가 출력이 될 것 입니다. 혹시 어떤 함수에 이런것을 입력하면은 명령

     

    어로 인식하지 않고 바로 출력을(예를 들어 %d를 입력하면은 바로 %d를 출력)하는 함수가 있나요? 아니면 함수 말고 다른 방법도 있는지

     

    알아 보고 싶습니다.

     

    이게 왜 필요한가 하냐면 제가 4분짜리 라이온킹 동영상을 베가스10으로 프레임별로 사진을 찍었습니다.

     

    그 사진을 ascgen-patlon(이미지를 도트를 찍은듯 텍스트로 변환 시켜주는 프로그램)라는 프로그램으로 텍스트로 변환 시켰는

     

    데요 그 텍스트를 복사한다음에 printf(); 함수에 넣어서 출력을 하려고 하면은 컴파일시 오류가 생겨서 실행이 안됩니다. (컴파일시 오류가 나오는 텍스트 파일 첨부) 그리고

     

    가로로 80자 이상 적을수 있다면 이미지가 더 선명해질텐데 지금 80자 밖에 안되서 걱정입니다. 또 배경음악을 넣고 싶어서 배경

     

    음악 넣는 법에 대해서 찾아 봤는데요.

     

    #include <iostream>
    #include <iostream>
    #include <windows.h>
    #include <mmsystem.h>
    #pragma comment(lib, "winmm.lib")


    int main()
    {
      PlaySound (L"test.wav", NULL, SND_ASYNC| SND_LOOP);


      return 0;
    }

     

    출처:

     

    http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=128609414&qb=cGxheXNvdW5k7ZWo7IiY&enc=utf8&section=kin&rank=2&search_sort=0&spq=0&pid=gPg3Jsoi5UsssucTR0Nsss--284471&sid=TeTMVIau5E0AAA1uH8c

     

    이런 소스를 구해왔습니다. 음...지금 막 함수에 대해서 공부하고 있어서 이해가 되지 않는 부분이 있는데요,

     

    1. <iostream>

    2. <iostream>

    3. <windows.h>

    4. <mmsystem.h>
    5.  #pragma comment(lib, "winmm.lib")

    6. PlaySound (L"test.wav", NULL, SND_ASYNC| SND_LOOP);

     

    이것들이 무엇을 의미하는지 설명해주실수 있나요?

    밑에 오리(메모장에 복사하면 오리그림이 나옵니다.)를

    #include <stdio.h>

     

    int main(void)

    {

           printf("");

     

           return 0;

    }

     

    printf함수에 넣어서 출력을 하려고 하면은 오류가 굉장히 많이 떠서 실행이 안됩니다.

     

    한줄 한줄을 printf()를 사용해서 적으면은 또 되는데 저걸 1개의 printf()함수에 다 넣는 방법이 있을까요?

    오리그림의 문자는 가로로 80줄입니다. 

    W@@@MM@@WWWWB0ZZaZaa222222aaaZ8MMM2MM2ZZMMMMMMMMMMrZMM MWBBBBBBBBBBBBBBBBBWBBBWW
    WWWW@@@@@@@B88Za2SXXX7XXXS22Sa0M                       MMWWWWWWWWWWWWWWWWWWWWWWW
    BBBBBWBWWWB0Zaa2S7rr;;7XXXa8@MMr   ,..::       ..:     MWWWWBBBBBBBBWBBBBBBBBBBW
    088000000BB8Za2SSX7rr728B@@Z;   :77ii7r7rrr:,r,.      MMBBBBBBBBBBBBBBBBBBBBBBBB
    00BB00080BB88ZZa22a8WWS,      ,i: i  ii;i.            0MWBWBBBBBB0BBBBBBBBBBBBBB
    0BB0BB00BBB08Z88WMMX.  ..:r;rr;r;,i::,. :;ii::       @MMMMMMW0000800000000800000
    0008888800B00BMMM,  .:i;r;r;;;rrrr7riir: .;ir:            ;2MW888Z88888888888888
    BBBB0BBBBWWMMMW   i;r;r;r;iii;rr77rr7;r7rii;,               WMMMW000BBB00000000B
    WWWWWWWW@MMM8   :i;;;;iiiiiii;r;r7XXS22XXXi;,                  MMMM@BBBWWWWWWWWW
    WWWWWWWWMMM   i;i;;;ii;i;;r;;;;;;r;r;;7XX7,:                     ;MMMWWWWWWWWWWW
    WBBBBWBMMM  :;ii;r;;;r;;;;;rr;i;;;ii      ,,.                      aMM@BBBBBBBBB
    WBBBBW@Ma  ;;ii;;;;iiii;;ii;;;rri;rr;;;.,. .r:                       MMMWBBBBBBB
    WBBBBBMM  ;;ii;r;;i,       i;i;rr;;ri,X , .;i .:,                      MMMBBBWBW
    WWBBWMM  rriirr;;,  ZMMMMMM.:;;ii;;;r;i:i. ;.  i:.,                     .M@0000B
    WBBBMM  ;;ii;r;ii,MMM,    8MSr7rrrr7X7rrri::   ,                         aMB8880
    WWW@M  i;ii;;;i;r:X. ,i;ri.,;rrr7;;r;;;;;:;:   .i,..                      MMBB0B
    MMMMM ,r:;;;;;;;;iii;;;;rrrrr;;rr7ir7rr;X;..:  ,:.    MMMMMB               MMWWW
    @@MMS ii;;;ri;;;;;;;;;;r;;;;;;;;r7r;r;7;X7;::i, .   ,MW    :0r              MMWW
    WWMM .;;;i;;;;;r;;;r;;;;;;;;rrrrrrr;;;rr;:,.r;i, ..  ,                      0MBB
    BBMB r;;ir;;ii;;;;r;;;;;;;;rrrrrrrr;rrii;r;r7:ii,.,      .                  .MWB
    BBMi ;ii;;;;i;;;;;;:,.:i;;;;;r;;;rr;r;;rr,i;i....,     , .                   MWB
    0BM  iii;i;i;r;;;i..BM0SX7rii;rr;;7r77;r;ii;i;X;r;...     .                  MW0
    0BM :;iii;;;;;;ii,2M2 .:i;rXr;;;rr77XX7rrr;X; rXri...                        M08
    BMM ;;:i;;i;;;;i:rM        .X;rr;;r;r;r7r;;:.:. ..    . :;                   MBB
    BM0 iii;;;i;;;ii.MX   MMMMM ,:ir;;;;;;ii7iiir;Xr..   ,,2SSMM                 M@W
    0MX ;i;;i;;;;;i; M   MMMMMMM:S,rr;r;ir;;iiii...         ,i BM                MBW
    8Ma ;i;i;;;;;;i; M  WMMMMZ  Ma.;r;;r;;;;;7;::,     :MMM0    M               MMBB
    8MX ;:;r;i;iii;r.@X MMMMMMMMM:.;r;;;;;;r;ii;..    MMB0MMM   M               M@BB
    8WM i,;;,ii::i;;:iM SMMMMMMMW :;;;;;;:,i:i..      MMMMM :, ,M               MWBB
    80M ,:777Z2Xi,,:i,2M MMMMMMMi :,ii:iri:.         MMMMMMMM  Ma              .M000
    0BMS ;2XSSa8Z22SSi;MMrMMMMMMXa@WMMMMMMMMMM@r.    MM@M@MMM iM               2M000
    BWMM ,XS2SS22Z88ZZ8XXSS;ri.i7r,           :i.i7  BMMMMMM ;M,              ,MMWBB
    BWWM. SaSSSSSSSSSSSSXX77rrr7rrSaZ8ZZa7,           MMMMW,Ma                MMWWWW
    BWWMM 782rrXXXSSX777XXXXX77r;i....:;728@0Si           :S8B2;.   .        MMWBWWB
    WWW@M7 8WWa;7XX777rr;i:      .7S2aaaXri   iX2i.             .,...       ZM@WBWBB
    WWWWMMX.0BW02XXXXr;i,. ;BMMMMMMMMMMMMMMMMMM0S.i7;            . ....    BMMWWWWWW
    000WMMM;:2Za2aZZZZZ8BMMMMM@MMMMM@@@@@@MMMMMMMMMSrZr               .   :MMBBBBBBB
    Z8WMr    .rX2SX77XXXSSS2Z0WWMWWBBBBBB000BBB@MMMMMXia;           SB7  aMM00888880
    8BM. :rXa88Z888SXXSX7XX2aZ0BM0WW@WBBBB0BBBBWMBa28@WZ8ai    i:. 7Zi   MW8Z8888888
    BMa ;Xa2Xr;XZMMMWXrrX7777Xa0M0XiXXZ000BBBBWMWXS2aBMMMMMMM0r   ,.   WM@8888888088
    M@..:          SMMMX;,,iiirSWMMZr8Z000WMMMM028@WBX        ,;:    MMMB08808000000
    2  . r2          iMMMM0;    :SBMMMMMMMM82228X,, ..:rr.,:          ZMMM@B0BBBB00Z
    :,i:S@MMM  ::.      aMMMMZ7:   iXZXXr7;7SS..   ..         @BMMWMWr  X7@MM@088ZZZ
    i7XXXBMWM2      SBi   0MBMMMMM7     .rX77,          ,MMMMMMMMMM82aaarSr  @0ZZZaa
    :.   ;ZZ8M,    i2BMM0 2M88Za00MMMMMMM0S2    @MMMMMMMMMZ  7:8aBMZ@7.;:    Ma22SXS
    X8BWBa7X28@MW77aZZ8Z.  @2S2aXSSX2SZ82a8MMWaaX            M8ZrSB  ;Si 8MM@ZSX7rr7

    

     

    2011년 6월 2일 목요일 오후 2:53

모든 응답

  • Q1. 위와 같이 소스를 컴파일 한 다음 실행하면은 100자를 썼는데 실행창에 가로로 80자 밖에 나오지 않습니다. 나머지 20자는 아래 줄로 가구요.

    또한 글씨 크기를 변환 시킬 수 있는 방법이 있을까요? 글씨 크기를 작게해서 한 줄에 많은 글자가 들어가게 하고 싶습니다.

     

    A1. 이건 명령창 옵션으로 해결하면 될 것 같습니다.

    1) "시작"->"프로그램"->"보조프로그램"->"명령 프롬프트"를 클릭해서 명령 프롬프트창 표시.

    2) 제목 표시줄에서 오른쪽 마우스 클릭 --> "속성" 선택.

    3) "레이아웃탭"을 선택하고 "창크기"항목에서 "너비"항목을 100으로 설정.

    4) "글꼴"탭을 선택하고 "크기"항목에서 적당한 크기 선택.

    5) "확인"버튼 클릭 --> 현재창에만 적용할지 여부를 묻는 다이얼로그에서 적당한 옵션 선택후 "확인"버튼 클릭

    6) 명령 프롬프트창에서 cd명령으로 실행파일이 있는 디렉토리로 이동해서 실행파일 실행.

     

     

    Q2. 1. <iostream>

          2. <iostream>

          3. <windows.h>

          4. <mmsystem.h>

          5. #pragma comment(lib, "winmm.lib")

          6. PlaySound (L"test.wav", NULL, SND_ASYNC| SND_LOOP);

    이것들이 무엇을 의미하는지 설명해주실수 있나요?

     

    A2. 각 항목의 의미는 아래와 같습니다.

    1~4 : 함수선언들이 있는 헤더파일 이름들

    5 : PlaySound함수가 포함되어 있는 라이브러리 설정(Visual Studio같은 툴을 사용하신다면 툴에서 설정할 수도 있습니다.)

    6 : PlaySound함수를 사용해서 test.wav 파일을 반복해서 플레이

    (함수 설명 : http://msdn.microsoft.com/en-us/library/dd743680(v=VS.85).aspx)

     

     

    Q3. 한줄 한줄을 printf()를 사용해서 적으면은 또 되는데 저걸 1개의 printf()함수에 다 넣는 방법이 있을까요?

     

    A3. 긴 문자열을 출력할 때 아래와 같은 방법을 사용할 수도 있습니다.

    printf("0123456789012345678901234567890123456789\ 012345678901234567890123456789012345678901234567890123456789\n");

    (소스의 printf함수에서 \로 문자열을 분리해서 여러줄로 나누지만 실제 출력해서는 한줄로 표시됨)

     

    2011년 6월 3일 금요일 오후 11:43