문자열에 있는 \n을 문자 그대로 출력하는 방법에 대한 질문입니다.

superkkt의 이미지

    char *a = "HI\r\nAA";

    printf("%s\n", a);

출력하면 HI와 AA가 서로 다른 줄에 출력이 됩니다. \r\n을 줄바꿈 문자가 아니라 그냥 그 문자 자체로 출력을 하고싶은데요.. 문자열을 가공해서 출력하는 방법외에 다른 방법은 없나요?

IDNed의 이미지

\n을 문자 자체라니요?

"\n\r"을 의미하시는건지... 0x0D 0x0A 라인피드 문자를 처리없이 출력하시겠다는 건지...

자세하게 적어주심이... ^^

ironboy의 이미지

"HI\\r\\nAA" 를 찾으신단 말씀이신지요?

ole2000의 이미지

앞에 \를 하나 더 붙여주면 되죠..

특수문자를 출력할때.. 보통 \를 사용해서 출력하지 않나요?

\\r\\n 이렇게..

Be cool...

superkkt의 이미지

에고.. 제가 질문을 에매하게 했나보네요.. FTP 서버를 만드는데 클라이언트로부터 넘어온 요청을 디버깅 메세지로 그대로 뿌려줄려고 합니다.

만약 클라이언트가 LIST를 요구했다면 LIST\r\n 이라는 값이 넘어오겠죠. 이걸 그대로 디버깅 메세지로 찍었더니 줄바꿈이 일어나더라구요. 그래서 문자열에서 \r\n을 찾아서 시작부분을 \0로 바꿔준후 출력을 하도록 만들었습니다.

그냥 이렇게 쓰면되는데 다른 좋은 방법이 혹시 없나싶어서 질문 올린거였습니다. :oops: 혹시 제가 너무 귀차니즘에 빠진건 아닌지......

======================
BLOG : http://superkkt.com

나는오리의 이미지

printf()를 새로 만드시지 않는이상은 문자열을 변환하셔야 될겁니다.

IDNed의 이미지

일단 저같은 경우 표준C/C++에서 입력처리 안하는 기능은 본적이 없군요...

Windows 같은 경우 SetConsoleMode API로 프로세싱 안하고 출력시킬 수 있습니다.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/setconsolemode.asp
http://msdn.microsoft.com/library/en-us/dllproc/base/getconsolemode.asp
GetConsoleMode로 구해서 ENABLE_PROCESSED_OUTPUT 비트를 제외시킨 후 SetConsoleMode하면 되겠군요. :lol:

아... 아직 제 Linux Box가 VMware에만 있어서 정확히 뭐가 Linux에 대응되는지 모르겠군요... :cry:

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.