Who's Online

มี 48 ผู้มาเยือน และ ไม่มีสมาชิกออนไลน์ ออนไลน์

การ Convert ระหว่าง char* กับ int ใน C

ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การ Convert ระหว่าง char* กับ int ใน C

บทความนี้ จะมาแนะนําการใช้ฟังก์ชั่น 2 ตัวใน C กัน มันถูกประกาศอยู่ใน stdlib.h เป็นฟังก์ชั่นครับ ไม่ใช่ฟังก์ชั่นตัวใหม่อะไรในภาษาC++ นะครับ มันยังอยู่ในขอบเขตของการศึกษา C ได้.... มันเป็นฟังก์ชั่นในการแปลงจาก char* เป็น int และแปลงจาก int เป็น char *

กาลครั้งหนึ่ง สมาชิกท่านนึงได้ยิงถามมาว่า เวลารับค่าในเกมเนี่ย เราสร้าง GUI ที่ใช้ Text Box เวลารับค่าตัวเลขเข้ามา มันจะเป็น char * คือ เอา char num[30]; เข้ามาเก็บค่าตัวเลข แต่เมื่อเราจะเอาค่าตัวเลขนี้ไปใช้ประมวลผล ไปคํานวณ นั่นล่ะครับ จะทําอย่างไร เราจะต้อง convert จาก char[] ให้เป็น int ซึ่งจะใช้ฟังก์ชั่นที่ชื่อว่า อะต๊อย (atoi) แต่ถ้าจะเปลี่ยนจาก int เป็น char[] ให้ใช้ อิเต๊า (itoa) ทั้งสองฟังก์ชั่นมีรายละเอียดดังนี้ครับ (จาก MSDN)

char *_itoa( int value, char *string, int radix );

int atoi( const char *string );

จากข้างต้น itoa เป็นการแปลงจาก int -> char* แต่ถ้า atoi จะแปลงจาก char* -> int แต่ก็ยังมีอีกตัว ชื่อว่า

double atof( const char *string );

อันนี้เป็นการแปลงให้เป็น float ครับ (char[] -> float)

เราจะใช้ก็ต่อเมื่อ..... เรามีตัวเลขอยู่ใน char[] และเราต้องการเอามันมาประมวลผล นั่นล่ะครับ เรียกใช้มันซะ ลองดูตัวอย่าง code ต่อไปนี้

ตัวอย่างการใช้ atoi แปลงข้อความ 1234 ให้เป็น int

int num=atoi("1234");
num++;
printf("Num = %d",num);

ตัวอย่างการใช้ itoa แปลงตัวเลข 590 ให้เป็น char และแสดงผลออกมาโดยหาขนาดของ string มาด้วยล่ะ

int n=590;
char buff[50];
itoa(n,buff,10);
printf("data=%s (%d)\n",buff,strlen(buff));

คําสั่ง itoa นั้น พารามิเตอร์ตัวสุดท้ายก็คือฐานครับ ว่าจะเป็นเลขฐาน 10 ฐาน 2 หรือฐาน 16 ก็ใส่ลงไปครับ

 

About I-Comz

bcomz.com เป็นส่วนหนึ่งของงานซ่อมคอมพิวเตอร์นอกสถานที่ บางกะปิ รามคำแหง ซึ่งมีประสบการณ์การซ่อมและการค้าขาย มากกว่า 10 ปี โดยมอบประสบการณ์การช้อปปิ้งและช่องทางการขายปลีกที่สะดวกสบายสำหรับผู้บริโภคและมอบแพลตฟอร์มสำหรับผู้ค้าให้สามารถเข้าถึงฐานลูกค้าที่ใหญ่ที่สุดในเอเชียตะวันออกเฉียงใต้ได้อย่างง่ายดาย

Counter

เนื้อหาที่เปิดอ่าน
116515
©2024 ซ่อมคอมพิวเตอร์นอกสถานที่ All Rights Reserved. Designed By Becomz

Search