C語言sprintf和sscanf函數用法

之前剛用C語言的時候,以爲字符串很難處理,後來用多了,發現其實並不是如此,C語言也提供了許多函數給程序員使用。今天記錄一下兩個經常使用的兩個字符串處理函數:sprintf和sscanf程序員

1. sprintf

從名稱上來看,這個函數名稱由三部分組成:函數

  • s 表明字符串(string)
  • print 表明打印
  • f 表明格式化(format)

這樣拆分,能夠大概知道它是幹嗎用的了,相對於咱們經常使用的用來處理輸出流的printf,sprintf是用來處理字符串的。實際上這個函數,是把數據按格式打印到字符串中,經常使用於將數字轉換成字符串。指針

sprintf函數所在頭文件:stdio.hcode

函數原型

int sprintf ( char * str, const char * format, ... );orm

  • str 用來存儲結果的內存的指針
  • format 格式化規則

例子

將數字轉換成字符串內存

#include <stdio.h>

int mian(void){
    int n=90;
    char buf[3];
    sprintf(buf,"%d",n);
    printf("This string is : %s",buf);
    return 0;
}

輸出:字符串

This string is : 90

注:轉換成字符串之後,會自動在字符串結尾插入'\0',因此要注意第一個參數的內存長度原型

2. sscanf

從名稱上來看,這個函數名稱由三部分組成:字符串處理

  • s 表明字符串(string)
  • scan 表明掃描
  • f 表明格式化(format)

這樣拆分,能夠大概知道它是幹嗎用的了,相對於咱們經常使用的用來處理輸入流的scanf,sscanf是用來處理字符串的。實際上這個函數,是將字符串中的內容按格式掃描到變量中,經常使用於將字符串轉換成數字。string

sscanf函數所在頭文件:stdio.h

函數原型

int sscanf ( const char * s, const char * format, ...);

  • s 指定被掃描的字符串
  • format 格式化規則

例子

把字符串轉換成數字

#include <stdio.h>

int main(void){
    const char* str="90";
    int num;
    sscanf(str,"%d",&num);
    printf("This number is : %d",num);
    return 0;
}

輸出:

This number is : 90

相關文章
相關標籤/搜索