Linux Programing
今天課程教的是socket程式,剛開始複習一下TCP與UDP的概念,最後有個lab算簡單,由於code都給我們了,稍微修改一點點就ok,不過卻遇到額外的難題,c語言整數字串的轉換,itoa函式linux library好像沒內建,兜了半天沒有結果...
這算是蠻常會碰到的問題,從網路整理一些資料:
數字轉字串,使用sprintf#include "stdio.h"
#include "stdlib.h"
void main(void){
char string[10];
int num=55;
sprintf(string,"%d",num);
// sprintf的用法和printf完全相同,只是printf把結果印在螢幕上,sprintf把結果印到一個字串中.
printf("%s\n",string);}
數字轉字串,使用itoa()
char * itoa(int value, char * str, int base);
This function is not defined in ANSI-C and is not part of C++, but is supported by some compilers.#include "stdio.h"
#include "stdlib.h"
void main (void){
int i=12;
char string[10];
itoa(i,string,10);
printf("decimal: %s\n",string);}
字串轉數字,使用sscanf#include "stdio.h"
#include "stdlib.h"
void main(void){
char string[]="100";
int num;
sscanf(string,"%d",&num);
// sscanf和scanf用法一樣,只是輸入的來源改成從字串中讀取而不是從鍵盤
printf("%d\n", num);}
字串轉數字,使用atoi()
int atoi(const char * str);#include "stdio.h"
#include "stdlib.h"
void main (void){
char string[]="34";
int i=atoi(string);
printf("%d\n",i);}
Ref:
cplusplus.com - The C++ Resources Network