1. c語言中sprint函數怎麼使用
sprintf(str,......)和printf(......)功能差不多,後者是輸出到屏幕,前者是輸出到字元串str
2. 如何在Ministm32板的TFTLCD上顯示變數的數值
可以includestdio.h頭文件,然後用sprint函數格式化輸出,,,比如你要列印TestValue=10;的值,可以如下:#include「stdio.h」發激篡刻詁灸磋熏單抹voidLCD_Show(void){chartmp[5];sprintf(tmp,"%d",TestValue);//在此調用列印tmp數組的LCD底層顯示函數即可,比如LCD_ShowString(tmp);}
3. 關於sprint()函數
數組存不下這么多的數據
4. printf 函數需要引用什麼頭文件
stdio.h 輸入輸出標准函復數制頭文件
string.h 字元串操作函數頭文件
math.h 數學函數頭文件
alloc.h 動態分配地址函數頭文件
graphics.h 圖形函數頭文件
conio.h 屏幕操作函數頭文件
dos.h 與DOS介面的函數頭文件
5. 如果使用printf()函數,應該包含什麼頭文件
只用到printf這個函數,可以不加頭文件,如果加上的話,就是:
#include <stdio.h>
printf()函數的使用格式為:
printf("格式控制參數"[,輸出1,輸出2...])
6. C語言中的sprint函數問題
sprintf函數原型為int sprintf(char *str, const char *format, ...)。作用是格式化字元串,具體功能如下所示:
(1)將數字變數轉換為字元串。
(2)得到整型變數的16進制和8進制字元串。
(3)連接多個字元串。
舉例如下所示:
1 char str[256] = { 0 };
2 int data = 1024;
3 //將data轉換為字元串
4 sprintf(str,"%d",data);
5 //獲取data的十六進制
6 sprintf(str,"0x%X",data);
7 //獲取data的八進制
8 sprintf(str,"0%o",data);
9 const char *s1 = "Hello";
10 const char *s2 = "World";
11 //連接字元串s1和s2
12 sprintf(str,"%s %s",s1,s2);
3、sscanf函數
sscanf函數原型為int sscanf(const char *str, const char *format, ...)。將參數str的字元串根據參數format字元串來轉換並格式化數據,轉換後的結果存於對應的參數內。具體功能如下:
(1)根據格式從字元串中提取數據。如從字元串中取出整數、浮點數和字元串等。
(2)取指定長度的字元串
(3)取到指定字元為止的字元串
(4)取僅包含指定字元集的字元串
(5)取到指定字元集為止的字元串
sscanf可以支持格式字元%[]:
(1)-: 表示範圍,如:%[1-9]表示只讀取1-9這幾個數字 %[a-z]表示只讀取a-z小寫字母,類似地 %[A-Z]只讀取大寫字母
(2)^: 表示不取,如:%[^1]表示讀取除'1'以外的所有字元 %[^/]表示除/以外的所有字元
(3),: 范圍可以用","相連接 如%[1-9,a-z]表示同時取1-9數字和a-z小寫字母
(4)原則:從第一個在指定范圍內的數字開始讀取,到第一個不在范圍內的數字結束%s 可以看成%[] 的一個特例 %[^ ](注意^後面有一個空格!)
解析網址的例子如下所示:
1 const char *s = "http://www..com:1234";
2 char protocol[32] = { 0 };
3 char host[128] = { 0 };
4 char port[8] = { 0 };
5 sscanf(s,"%[^:]://%[^:]:%[1-9]",protocol,host,port);
6
7 printf("protocol: %s
",protocol);
8 printf("host: %s
",host);
9 printf("port: %s
",port);
10
4、snprintf函數
snprintf函數是sprintf函數的更加安全版本,考慮到字元串的位元組數,防止了字元串溢出。函數形式為:int snprintf(char *restrict buf, size_t n, const char * restrict format, ...);。最多從源串中拷貝n-1個字元到目標串中,然後再在後面加一個0。所以如果目標串的大小為n 的話,將不會溢出。
5、測試程序
本次採用ip地址和整型之間的轉換,mac地址轉換作為測試程序,整個程序如下所示:
1 #include <stdio.h>
2 #include <assert.h>
3
4 #define IP_STR_LEN 18
5 #define MAC_STR_LEN 18
6 #define MAC_BIT_LEN 6
7 #define LITTLE_ENDIAN 0
8 #define BIG_ENDIAN 1
9
10 typedef unsigned char uchar;
11 typedef unsigned int uint;
12
13 int big_little_endian()
14 {
15 int data = 0x1;
16 if (*((char*)&data) == 0x1)
17 return LITTLE_ENDIAN;
18 return BIG_ENDIAN;
19 }
20
21 uint ipstr2int(const char * ipstr)
22 {
23 assert(ipstr);
24 uint a,b,c,d;
25 uint ip = 0;
26 sscanf(ipstr,"%u.%u.%u.%u",&a,&b,&c,&d);
27 a = (a << 24) ;
28 b = (b << 16) ;
29 c = (c << 8) ;
30 d = (d << 0) ;
31 ip = a | b | c | d;
32 return ip;
33 }
34
35 char *int2ipstr(const uint ip, char *ipstr, const uint ip_str_len)
36 {
37 assert(ipstr);
38 if (big_little_endian() == LITTLE_ENDIAN)
39 sprintf(ipstr,"%u.%u.%u.%u",
40 (uchar)*((char*)(&ip)+3),
41 (uchar)*((char*)(&ip)+2),
42 (uchar)*((char*)(&ip)+1),
43 (uchar)*((char*)(&ip)+0));
44 else
45 sprintf(ipstr,"%u.%u.%u.%u",
46 (uchar)*((char*)(&ip)+0),
47 (uchar)*((char*)(&ip)+1),
48 (uchar)*((char*)(&ip)+2),
49 (uchar)*((char*)(&ip)+3));
50
51 return ipstr;
52 }
53
55 char *mac2str(const unsigned char *mac,char *mac_str,const uint mac_str_len)
56 {
57 assert(mac_str);
58 sprintf(mac_str,"%02X-%02X-%02X-%02X-%02X-%02X",
59 mac[0],mac[1],mac[2],
60 mac[3],mac[4],mac[5]);
61 }
62
63 int main()
64 {
65 char ip_str[IP_STR_LEN] = {0};
66 char mac_str[MAC_STR_LEN] = {0};
67 unsigned char mac[MAC_BIT_LEN] = {0XEF,0XAD,0XF4,0X4F,0XAA,0X0F};
68 const char *ipstr = "10.0.3.193";
69 unsigned int ip;
70 int2ipstr(167773121,ip_str,IP_STR_LEN);
71 mac2str(mac,mac_str,MAC_STR_LEN);
72 ip = ipstr2int(ipstr);
73 printf("%s
",ip_str);
74 printf("%s
",mac_str);
75 printf("ip:%u
",ip);
76 return 0;
77 }
程序執行結果如下所示:
7. sprintf_s函數要用到什麼頭文件
這種微軟自家的一堆函數查詢還是用MSDN比較好
8. 用printf()需要包含哪個頭文件
只用到printf這個函數,可以不加頭文件,如果加上的話,就是:
#include
printf()函數的使用格式為:
printf("格式控制參數"[,輸出1,輸出2...])
9. 調用函數strcmp,必須包含什麼頭文件stdlib.h ctype.h string.h 個各是用於哪裡
調用strcmp函數要用到#include<cstring> / #include <string.h>。
stdlib 頭文件即standard library標准庫頭文件。stdlib.h裡面定義了五種類型、一些宏和通用工具函數。 類型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等。
ctype.h是C標准函數庫中的頭文件,定義了一批C語言字元分類函數(C character classification functions),用於測試字元是否屬於特定的字元類別,如字母字元、控制字元等等。既支持單位元組字元,也支持寬字元。
string .h頭文件定義了一個變數類型、一個宏和各種操作字元數組的函數。
(9)sprint函數用什麼文件擴展閱讀
strcmp函數是string compare(字元串比較)的縮寫,用於比較兩個字元串並根據比較結果返回整數。基本形式為strcmp(str1,str2),若str1=str2,則返回零;若str1<str2,則返回負數;若str1>str2,則返回正數。
規則:
當s1<s2時,返回為負數;
當s1=s2時,返回值= 0;
當s1>s2時,返回正數。
即:兩個字元串自左向右逐個字元相比(按ASCII值大小相比較),直到出現不同的字元或遇'