国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

字符串和整型轉(zhuǎn)換的那些事兒

這篇具有很好參考價(jià)值的文章主要介紹了字符串和整型轉(zhuǎn)換的那些事兒。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

整形數(shù)組如何轉(zhuǎn)換成一個(gè)字符串?

總的來說,有兩種思路。

思路一

uint8_t str[10] = {0};
    int arr[] = {1,2,3,4,5,6};
    sprintf(str,"%d%d%d%d%d%d",arr[0],arr[1],arr[2],arr[3],arr[4],arr[5]);
    printf(str);

這種想法非常局限,是直接使用sprintf(),怎么改進(jìn)呢?用循環(huán)。

思路二

uint8_t str[10] = {0};
    int arr[] = {1,2,3,4,5,6};
    for(uint8_t i = 0; i < (sizeof(arr) / sizeof(arr[0])); i++)
    {
        sprintf((str + strlen(str)),"%d",arr[i]);
    }

這個(gè)循環(huán)的方式非常巧妙,利用strlen()作為不斷增加的變化量,而當(dāng)str賦初值都是0的時(shí)候,這些零對(duì)于字符串來說,相當(dāng)于\0,那么此時(shí)strlen檢測(cè)出來的數(shù)量必然是0,這是一種需要記住的方式。

普通的數(shù)字怎么轉(zhuǎn)化成字符串?

直接使用sprintf()就好了。

 uint8_t str[10] = {0};
    int num = 25635;
    sprintf(str,"%d",num);
    printf(str);

有關(guān)于字符串常用的兩個(gè)函數(shù)

strstr()

這個(gè)函數(shù)主要是看在一個(gè)第一個(gè)參數(shù)字符串中,是否有第二個(gè)參數(shù)字符存在。如果存在的話,那么就返回第二個(gè)參數(shù)字符在第一個(gè)參數(shù)字符串的數(shù)組下標(biāo)。

這個(gè)函數(shù)一般來確定有沒有某一個(gè)字符或者字符串是存在于第一個(gè)字符串之中的。

strstr是一個(gè)C語(yǔ)言的字符串處理函數(shù),用于在一個(gè)字符串中查找指定子字符串的第一次出現(xiàn)位置。

該函數(shù)的原型如下:

c
char *strstr(const char *haystack, const char *needle);
haystack:要搜索的字符串,即被查找的源字符串。
needle:要查找的子字符串。
strstr函數(shù)會(huì)在 haystack 字符串中查找第一次出現(xiàn)的 needle 子字符串,
并返回該子字符串在 haystack 中的指針。如果未找到匹配的子字符串,則返回NULL。

以下是一個(gè)使用strstr函數(shù)的示例:

c
#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    char *result = strstr(str, "World");

    if (result != NULL) {
        printf("Found at index: %ld\n", result - str);
    } else {
        printf("Not found\n");
    }

    return 0;
}

strtok()

這個(gè)函數(shù)的主要作用是返回字符串中某一個(gè)字符之前的字符串的地址。相當(dāng)于將前面的字符串切割了下來。

不過值得注意的是:其中的字符串一定要是字符數(shù)組。不能是字符串,否則操作會(huì)卡住。一定要是直接的數(shù)組,不能是數(shù)組當(dāng)做一個(gè)*str參數(shù)傳進(jìn)來,這樣的話數(shù)組就改變了性質(zhì),這樣也會(huì)出現(xiàn)問題。

strtok是字符串處理函數(shù),它的名稱來自于 "string tokenization" 的縮寫。

在C語(yǔ)言中,strtok函數(shù)用于將一個(gè)字符串分割成多個(gè)子字符串(tokens),并逐個(gè)返回這些子字符串。它可以根據(jù)指定的分隔符將原始字符串切割成多個(gè)部分。

strtok函數(shù)的原型如下:

c
char *strtok(char *str, const char *delim);
str:要分割的字符串,第一次調(diào)用時(shí)傳入非空指針,后續(xù)調(diào)用傳入NULL。
delim:分隔符字符串,用于指定分割子字符串的標(biāo)志。
strtok函數(shù)首次調(diào)用時(shí),會(huì)在給定的字符串中找到第一個(gè)分隔符之前的子字符串,并返回該子字符串的指針。之后的調(diào)用通過傳入NULL作為第一個(gè)參數(shù),可以繼續(xù)返回后續(xù)的子字符串,直到?jīng)]有更多的子字符串可供返回。

以下是一個(gè)使用strtok函數(shù)的示例:

c
#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello,World,Welcome";
    char *token = strtok(str, ",");

    while (token != NULL) {
        printf("%s\n", token);
        token = strtok(NULL, ",");
    }

    return 0;
}

第一次傳入一個(gè)非空的指針,后續(xù)就直接傳入NULL就可以了。

關(guān)于一些字符串的格式化字符

%hhu表示的是無(wú)符號(hào)的char,而其中%hu表示的是無(wú)符號(hào)的short,%u就是表示無(wú)符號(hào)的int。文章來源地址http://www.zghlxwxcb.cn/news/detail-796138.html

到了這里,關(guān)于字符串和整型轉(zhuǎn)換的那些事兒的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包