[질문] atoi() 와 반대의 함수 및 라이브러리

skjean의 이미지

초보 질문 하나 드립니다.

스트링을 integer로 바꿔주는 함수 atoi() 입니다.
그런데, integer를 string으로 바꿔주는 함수를 itoa()로
알고 사용하려고 하니, 안 먹는 것 같습니다.
man page에도 나오지 않네요.. 커널 디폴트 라이브러이에는
포함되어 있지 않은거 같은데, 특별한 라이브러리가 필요한지요?

환경은 gcc 3.2.2이고 리눅스 커널 2.4.18입니다.

감사합니다.

whitekid의 이미지

sprintf( str, "%d", 1234 )

What do you want to eat?

progcom의 이미지

skjean wrote:
답변의 의도를 잘 모르겠습니다.

예를 하나 들도록 하겠습니다.

#include <stdio.h>
#include <stdlib.h>
main()
{
   int index = 10;
   char cb[48];

   cb = itoa(index);
   printf("%s", itoa(index));
}

요렇게 하면 10이 찍히도록 하고 싶은 것입니다.

#include <stdio.h>

int main()
{
    int i = 10;
    printf("%d", i);

    return 0;
}

man페이지를 참고해보시는것도 도움이 될겁니다.

indizarm의 이미지

얼마전의 저와 똑같으신 분이군요. aoti()와는 달리 itoa()는
별도의 library를 사용하지 않는 한, linux에서는 존재하지 않
는 함수입니다.
(window에서도 ms나 borland에서 만들어서 지원하는 것으로
압니다만)

보통 비슷한 용도로 sprintf()를 사용하는데 whitekid님께서 올
려주신 것처럼하면 str에 itoa()한 결과와 같은 '문자열'이 되어서
저장됩니다.

whitekid wrote:
sprintf( str, "%d", 1234 )

그 다음에
printf("%s",str);    또는 puts(str);

What a Cool Days!!!

theone3의 이미지

itoa()라는 함수가 있었나요? 없었던 것 같았는데.

#include <stdio.h> 
#include <stdlib.h> 
main() 
{ 
   int index = 10; 
   char cb[48]; 

   /*cb = itoa(index); 
    printf("%s", itoa(index));  */
  

   sprintf(cb, "%d", index);
   printf("%s", cb);

} 

대강 이런 것을 원하시는 것이 아닐지요?

당신은 사랑받기 위해 태어난 사람.

andrea0705의 이미지

unix, linux 모두 그런 함수는 지원하지 않습니다.

윗분들의 말씀 처럼 sprintf를 사용해서 변환하는 방법을 가장 많이 사용하지요.
만약, 굳이 함수형태로 만든것을 원하시면 메일 보내주세요.
저도 누군가에게 얻은 함수가 있어서리....

함 해보자.. 열심히..

skjean의 이미지

아.. 감사합니다.
sprintf가 화면 출력이 아니군요..

^^;;

답변 주신 모든 분들께 감사드립니다.

kjs2k의 이미지

도움이 됐습니다.
리눅스엔 아직 없군요.
하긴 sprintf로 해결할 수 있다면 새로 만들 필요도 없죠. ^_^

overcrash의 이미지

sprintf로 해결이 안되고, 반드시 필요한 경우가 있긴 하더군요-
그래서 직접 구현해서 사용했던 기억이 나네요-

익명 사용자의 이미지

간단히..

string szString = "2345";
uint retInt =
uint strSize = strlen(string);
for(int i; i < stringleng(string); i++, strSize-- )
{
retInt += strint[i]-'0') * pow(10,strSize);
}

생각나는 대로 짜서 검증은 우주로..

ihavnoth의 이미지


#include
#include

int main()
{
const char *str = "12X34TTTT";
char *ptr;
long value;

value = strtol(str, &ptr, 10);

printf("str: %p\n", str);
printf("ptr: %p\n", ptr);
printf("value: %lu\n", value);

return 0;
}

없음

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.