當前位置:首頁 » 操作系統 » itoalinux

itoalinux

發布時間: 2023-05-19 17:54:06

linux下沒有itoa函數,sprintf又不能轉換成二進制,那麼如何寫一個小函數,把十進制轉換成二進制

連續除以2,讓余數倒排即可,我寫了個輸出成int的,只不過這個int是二進制而已,你可以參考

int to2(int n)
{
int r=0;
int shang,yushu;
shang=n;
while(shang!=0)
枝棚{
猛段則yushu=shang%2;
r=r*10+yushu;
燃團shang=shang/2;
}
return r;
}

② Linux系統下關於函數itoa()

#include <stdlib.h>

int atoi(const char *nptr);
long atol(const char *nptr);
long long atoll(const char *nptr);
long long atoq(const char *nptr);

linux下面沒對應的好像,我man 沒有查到.

給你直接找到一個實現,你放到自散陸冊己代碼裡面就可以了

void itoa ( unsigned long val, char *buf, unsigned radix )
{
char *p; /* pointer to traverse string */
char *firstdig; /* pointer to first digit */
char temp; /* temp char */
unsigned digval; /* value of digit */

p = buf;
firstdig = p; /* save pointer to first digit */

do {
digval = (unsigned) (val % radix);
val /= radix; /* get next digit */

/沖宏悉鎮* convert to ascii and store */
if (digval > 9)
*p++ = (char ) (digval - 10 + 'a '); /* a letter */
else
*p++ = (char ) (digval + '0 '); /* a digit */
} while (val > 0);

/* We now have the digit of the number in the buffer, but in reverse
order. Thus we reverse them now. */

*p-- = '\0 '; /* terminate string; p points to last digit */

do {
temp = *p;
*p = *firstdig;
*firstdig = temp; /* swap *p and *firstdig */
--p;
++firstdig; /* advance to next two digits */
} while (firstdig < p); /* repeat until halfway */
}

③ linux下c語言怎樣把字元串與整數連接起來

用sprintf

charszBuff[16];
sprintf(szBuff,"%s%d","aaaa",i);

④ linux 下 _snprintf 不能用

linux下可以用sprintf代替_snprintf
sprintf 是個變參函數,定義如下:
int sprintf( char *buffer, const char *format [, argument] ... );
可以這樣用sprintf(string,"%d",value);所以你必須先指定string的大小

至於vc環境的程序移植到linux下,你可以到網上下載 Linux C函數使用手冊.chm
然後對照到windows下的函數改一下就差不多了!!!!!!!

⑤ C++ 與atoi具有相反功能的函數是什麼

string 是C++ STL定義的類型,atoi是 C 語言櫻顫的庫函數,所以要先轉換成 char* 類型才可以用 atoi。
string s;
cin>>s;
int result = atoi( s.c_str() );
(atoi 這個函數比較弱, 只能讀一個數字。 真正NB的是 strtol 函數。)

//==============================================
附 atoi 函數說明:

原型: int atoi(const char *nptr);

函數說明: 參數nptr字元串,如果第一個非空格字元不存在或者不是數字也不是正負號則返回零,否則開始做類型轉換,之後檢測到非數字(包括結束符 \0) 字元時停止轉換,返回沒擾整型枯頌旦數。

⑥ 用man查看c函數幫助時,為什麼man atoi能查到,而itoa查不到

itoa不是c標准庫函數和局穗,是各種編譯器對c便准庫的擴張之一
有一些c編譯器喚卜支持這個函數(比如vc)
但gcc不支持,有些linux發行版自行修改在臘含gcc中加入了擴展版的c標准庫所以支持,因此你平台上的gcc不一定支持itoa,因此也man不到了
建議用sprintf替代itoa,或者自己寫一個itoa(網上找的):
char* itoa(int val, int base){
static char buf[32] = {0};
int i = 30;
for(; val && i ; --i, val /= base)
buf[i] = "0123456789abcdef"[val % base];
return &buf[i+1];
}

⑦ 用linux的itoa函數要包含哪個.h文件

itoa 功 能:把一整數掘卜轉換為字褲虛符串 用 法:char *itoa(int value, char *string, int radix); 詳細解釋:itoa是胡散燃英文integer to array(將int整型數轉化為一個字元串,並將值保存在數組string中)的縮寫.其中value為要轉化的整數, radix是基數的意思,即...

⑧ linux下如何將整形轉化為字元串

有如下兩種常用方法。

一、可以通過調用C庫函數itoa實現。
1 原型。
char*itoa(int value,char*string,int radix);
2 頭文件。
stdlib.h

3 功能。
將value的值,轉換為字元串,並存到string中,如果轉化後的字元串長檔慶度超過radix,那麼只存radix位。

4 樣例。
int i=1234;
char buf[10];
itoa(i, buf, 10);

執行後buf內容為字元串"1234"。

二、通過sprintf格式化輸出到字元串中。
itoa並不是C語言標准庫函數,所以並不是每個平台均支持該函數。當不支持時,可以用sprintf函數來達到同樣效果。
1 原型。
int sprintf( char *buffer, const char *format, [ argument] … );
2 頭文件。
stdio.h
3 功薯蠢頌能。
類似於printf,根據格式化字元串format,將後續參數列表中的參數逐個輸出。不過輸出目標不是標准輸出終端,而是字元串buffer。
4 樣數鄭例。
int i=1234;
char buf[10];
sprintf(buf,"%d",i);

執行後buf內容同樣為字元串"1234"。

⑨ linux里使用不了itoa函數嗎

itoa是廣泛應用的非標准C語言擴展函數。由於它不是標准C語言函數,鍵消所以不能在所有的編譯器中使用。但是,大多數的編譯器(如Windows上的)通常在<stdlib.h>頭文件中包含這個函數。在<stdlib.h>中與之稿賀知有相反功能的函數是atoi。功能:把一拍御整數轉換為字元串。char *itoa(int value, char *string, int radix); 頭文件: <stdlib.h>程序例: #include <stdlib.h> #include <stdio.h> int main() { int number = 123456; char string[25]; itoa(number, string, 10); printf("integer = %d string = %s\n", number, string); return 0; }

⑩ C語言中怎樣調用函數將十進制轉換成二進制

1、打開visualC++6.0-文件-新建-文件-C++SourceFile。

熱點內容
php1970 發布:2025-04-23 07:30:36 瀏覽:852
c語言中e的表示 發布:2025-04-23 07:12:25 瀏覽:810
活躍度演算法 發布:2025-04-23 07:10:41 瀏覽:109
資料庫系統的數據獨立性 發布:2025-04-23 06:57:55 瀏覽:584
宿州社保密碼是多少 發布:2025-04-23 06:57:50 瀏覽:364
中國十大解壓電影 發布:2025-04-23 06:13:07 瀏覽:582
產品直播腳本範文例子 發布:2025-04-23 06:10:24 瀏覽:312
安卓id加密 發布:2025-04-23 06:10:23 瀏覽:388
python行內if 發布:2025-04-23 06:10:20 瀏覽:219
ubuntu編譯32位程序 發布:2025-04-23 06:10:20 瀏覽:960