✨Thư viện chuẩn C

Thư viện chuẩn C

Thư viện chuẩn C ngày nay là một tập hợp của các tập tin tiêu đề và thư viện các thủ tục được tiêu chuẩn hóa dùng để thiết lập các pháp toán tổng quát, như là việc xử lý I/O và dãy ký tự trong C. Khác với Pascal hay PL/I, C không bao hàm sẵn các từ khoá để dùng cho tác thao tác, và như vậy, hầu như mọi chương trình C đều phụ thuộc vào thư viện chuẩn để hoạt động.

Thiết kế

:Trong cả bài viết này chữ "tiêu đề" sẽ được hiểu nghĩa là "tập tin tiêu đề".

Tên và đặc tính của mỗi hàm trong C được chứa trong một tập tin gọi là tập tin tiêu dề nhưng sự kiến tạo thực sự của các hàm này được phân chia vào trong các tập tin thư viện. Tên và nội hàm của các tiêu đề đã trở nên thông dụng nhưng tổ chức của các thư viện này vẫn còn phân hoá. Thư viện chuẩn thường được ban hành chung với một trình dịch. Vì các trình dịch C thường hay cung cấp thêm các chức năng không có trong tiêu chuẩn ANSI C, nên một thư viện chuẩn của một trình dịch đặc thù hầu như sẽ không tương thích với các thư viện chuẩn của trình dịch khác.

Nhiều phần thư viện chuẩn C cho thấy việc thiết kế chúng rất tốt. Tuy nhiên, một số ít, cho thấy điểm yếu sau khi được dùng rộng rãi như là hàm đọc từ đầu vào gets() (và cũng như hàm scanf() đọc dãy ký tự từ đầu vào) là một nguyên nhân của nhiều lỗi tràn bộ nhớ đệm, và hầu hết các sách hướng dẫn đều khuyến cáo tránh dùng chúng. Một khuyết điểm nữa là hàm strtok() được thiết kế như là một phân tích từ điển cơ bản nhưng rất khó dùng và dễ bị hỏng.

Lịch sử

Trước khi được tiêu chuẩn hoá, C đã không cung cấp các hàm nội tại chẳng hạn là các phép toán I/O (không giống với các ngôn ngữ truyền thống như Pascal và Fortran). Theo thời gian, người trong cộng đồng của C đã chia sẻ nhau các ý tưởng và xây dựng nên cái mà ngày nay ta gọi là thư viện chuẩn C để cung ứng các chức năng. Nhiều ý kiến trong đó, đã được dùng vào việc định nghĩa của ngôn ngữ lập trình tiêu chuẩn hóa C.

Unix và C đều đã được tạo ra ở Bell Labs vào cuối thập niên 1960 đầu thập niên 1970. Trong suốt những năm của thập niên 1970, C trở nên phổ biến. Nhiều đại học và tổ chức bắt đầu tạo ra các ngôn ngữ C riêng cho các đề án của họ. Đến đầu thập niên 1980, vấn đề tương thích giữa những sự kiến tạo về C đã trở nên nghiêm túc. Năm 1983, ANSI thành lập một hội đồng để hoàn tất đặc tả tiêu chuẩn cho C gọi là "ANSI C". Công việc này dẫn tới sự hình thành của cái gọi là chuẩn "C89" trong năm 1989. Một bộ phận của kết quả chuẩn này là một tập hợp của các thư viện phần mềm gọi là thư viện chuẩn ANSI C đã ra đời.

Phiên bản viết lại sau này của chuẩn C đã thêm vào nhiều tập tin tiêu đề cần thiết cho thư viện. Hỗ trợ cho nhiều sự mở rộng khác nhau giữa các sư thiết lập (của C).

Các tiêu đề ****, ****, và **** đã được thêm vào với Tu chính chuẩn số 1 (_Normative Amendment_) đưược viết tắt là **NA1**, và được chuẩn C chấp thuận vào năm 1995.

Các tiêu đề <complex.h>, <fenv.h>, <inttypes.h>, <stdbool.h>, <stdint.h>, và <tgmath.h> đã được thêm vào một phiên bản mới của chuẩn C là C99, phát hành năm 1999.

Chuẩn ANSI

Thư viện chuẩn ANSI bao gồm 24 tiêu đề C mà có thể được bao gồm trong một đề án của người lập trình với các chỉ thị (dịch). Mỗi tiêu đề chứa một hay nhiều sự khai báo của hàm, sự định nghĩa của kiểu dữ liệu và các macro. Nội dung của các tiêu đề như sau:

Thư viện chuẩn thì không được viết hoa. Nó cung cấp tập hợp cơ bản các hàm toán, điều chỉnh dãy ký tự, chuyển đổi kiểu, và các I/O cơ sở. Nó không bao gồm một tập hợp chuẩn các "kiểu thùng chứa" như trong Thư viện chuẩn C++. Nó cũng không bao gồm các bộ công cụ GUI, các công cụ mạng, và những chức năng phong phú khác như Java đã cung cấp. Lợi thế chính của một thư viện chuẩn cỡ nhỏ là nó cung ứng một môi trường làm việc của ANSI C dễ dàng hơn so với các ngôn ngữ khác, và hệ quả là việc xuất chương trình C sang một nền tảng mới tương đối dễ dàng hơn.

Nhiều thư viện đã được phát triển để cung cấp chức năng tương đương với những thứ mà ngôn ngữ khác có trong thư viện chuẩn. Thí dụ môi trường của đề án GNOME phát triển bộ công cụ đồ họa GTK và glib, một thư viện của thùng chứa các cấu trúc dữ liệu, và có rất nhiều thí dụ nổi tiếng khác. Nhiều thư viện có ý nghĩa với các bộ công cụ tuyệt vời đã được chứng tỏ qua lịch sử. Một điểm đáng lưu tâm là các công cụ này thường không tương thích nhau, những người lập trình thường quen với sự khác nhau của các bộ thư viện này, và một bộ công cụ có thể khả dụng trong bất kì nền tảng nào.

Các tập tin tiêu đề của chuẩn ANSI C

  • <assert.h>: Bao gồm macro assert dùng để hỗ trợ trong việc phát hiện các lỗi lô-gíc và các kiểu lỗi khác trong các phiên bản dùng để tìm lỗi của một chương trình.
  • <complex.h>: Một tập hợp các hàm dùng để điều chỉnh các số phức (mới có trong chuẩn C99).
  • <ctype.h>: bao gồm các hàm dùng để phân lớp các ký tự bởi các kiểu hay dùng để chuyển đổi giữa chữ viết hoa và viết thường.
  • <errno.h>: Dùng để thử (hay hiển thị) các lỗi được báo cáo từ các hàm thư viện.
  • <fenv.h>: Dùng để kiểm soát môi trường chấm động (mới có trong C99).
  • <float.h>: Bao gồm định nghĩa các hằng mà nêu ra các đặc tính xây dựng của thư viện chấm động, như là sự khác nhau nhỏ nhất của hai số chấm động (có thể có) qua _EPSILON, số lớn nhất của các chữ số của độ chính xác qua _DIG và khoảng cách của các số mà có thể biểu thị được qua _MIN và _MAX.
  • <inttypes.h>: Dùng cho việc chuyển đổi kiểu chính xác giữa các kiểu nguyên (mới có trong C99).
  • <iso646.h>: Để lập trình trong ISO 646 cho các bộ ký tự khác nhau (mới có trong NA1).
  • <limits.h>: Chứa định nghĩa các hằng có đặc tính đặc biệt của các kiểu nguyên, như là khoảng cách của các số mà có thể biểu thị quan _MIN, _MAX.

Contains defined constants specifying the implementation-specific properties of the integer types, such as the range of numbers which can be represented (_MIN, _MAX).

  • <locale.h>: Dùng cho setlocale() và các hằng có liên quan. Việc này được dùng để lựa chọn địa phương cần thiết.
  • <math.h>: Cho việc tính các hàm số thông dụng.
  • <setjmp.h>: Khai báo setjump/longjump đưuợc dùng trong việc thoát ra của nơi không có tính địa phương.
  • <signal.h>: Để kiểm soát các điều kiện ngoại lệ.
  • <stdarg.h>: Để truy cập số lượng khác nhau của các đối số được chuyển vào hàm.
  • <stdbool.h>: Dùng cho khiểu dữ liệu Bool (mới có trong C99).
  • <stdint.h> : Dùng trong việc định nghĩa các kiểu nguyên khác nhau (mới có trong C99).
  • <stddef.h>: Cung cấp nhiều kiểu và macro hữu dụng.
  • <stdio.h>: Cung cấp cốt lõi của những khả năng nhập trong C. Tập tin này bao gồm họ hàm printf.
  • <stdlib.h>: Dùng để xúc tiến nhiều phép toán, bao gồm sự chuyển đổi, các số giả ngầu nhiên, cấp phát vùng nhớ, kiểm soát quá trình, môi trường, tín hiệu, tìm kiếm, và xếp thứ tự.
  • <string.h>: Để điều chỉnh nhiều loại dãy ký tự.
  • <tgmath.h>: Dùng cho các hàm toán kiểu thông dụng (mới có trong C99).
  • <time.h>: Để chuyển đổi giữa các định dạng khác nhau về thì giờ và ngày tháng.
  • <wchar.h>: Để điều chỉnh độ rộng của các dòng (dữ liệu) và nhiều loại dãy ký tự sử dụng nhiều (loại) ký tự có độ lớn (Unicode chẳng hạn). -- Đây là chìa khóa để hỗ trợ nhiều ngôn ngữ (mới có trong NA1).
  • <wctype.h>: Để phân lớp các ký tự có độ lớn (mới có trong NA1).

Thư viện chuẩn C trong C++

:''Xem thêm Thư viện chuẩn C++ Ngôn ngữ C++ bao gồm chức năng của thư viện chuẩn ANSI C nhưng được làm thêm nhiều thay đổi như là đổi tên của các tập tin tiêu đề từ <xyz.h> sang (mặc dù đã dược lưu ý cho sự thay đổi, các tên kiểu-C thì vẫn sử dụng được), và C++ xếp tất cả các định danh (identifier) vào trong vào trong không gian tên std.

👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Thư viện chuẩn C** ngày nay là một tập hợp của các tập tin tiêu đề và thư viện các thủ tục được tiêu chuẩn hóa dùng để thiết lập các pháp toán tổng quát,
Trong C++, **Thư viện chuẩn** hay **Thư viện tiêu chuẩn** là một tập hợp của các lớp và các hàm được viết trong phần ngôn ngữ cốt lõi. Thư viện chuẩn này cung cấp nhiều
**Thư viện chuẩn**, tiếng Anh: **standard library**, trong lập trình máy tính là thư viện được cung cấp sẵn thông qua các hiện thực của một ngôn ngữ lập trình. Các thư viện này được
thế=|nhỏ|300x300px|[[Giao diện nhân Linux|Linux API được cấu thành từ System Call Interface của nhân Linux, GNU C Library (của GNU), libdrm, libalsa và libevdev (củafreedesktop.org).]] thế=|nhỏ|300x300px|GNU C Library là một trình bao bọc xung quanh
Trong ngôn ngữ lập trình C, **kiểu dữ liệu** (tiếng Anh: _data type_) là khai báo cho địa chỉ bộ nhớ hay [[biến (khoa học máy tính)| biến]] mà xác định đặc tính của dữ
phải|nhỏ|277x277px| Minh họa của một ứng dụng sử dụng libvorbisfile để phát file Ogg Vorbis Trong khoa học máy tính, **thư viện** là tập hợp các tài nguyên không biến động được sử dụng bởi
**C++** (**C Plus Plus**, **CPP,** IPA: /siː pləs pləs/) là một ngôn ngữ lập trình đa năng bậc cao (high-level) được tạo ra bởi Bjarne Stroustrup như một phần mở rộng của ngôn ngữ lập
**Cú pháp ngôn ngữ (lập trình) C** là tập hợp các quy tắc nhằm xác định cách thức để viết và dịch trong ngôn ngữ lập trình C. :Thí dụ:
 // Dòng này sẽ
**C++11**, được biết đến trước đây với tên gọi C++0x, là tên gọi của tiêu chuẩn của ngôn ngữ lập trình C++. Tiêu chuẩn này được chấp nhận bởi tổ chức ISO vào ngày 12
Một nhân viên thủ thư ở [[Hoa Kỳ|Mỹ]] [[Courtney Young, thư viện viên và nguyên chủ tịch của Hiệp hội thư Viện Mỹ]] **Thủ thư** hay **cán bộ thư viện** hay nghĩa đơn giản là
nhỏ|Thứ tự yếu trên \{a, b, c, d\} trong đó hạng của a nằm dưới bc, bc có cùng hạng, và d nằm trên bc
I) Thứ tự
**C** là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều
Ngôn ngữ lập trình C có một hệ thống mở rộng cho việc **khai báo các biến của các kiểu khác nhau**. Những quy tắc dành cho các kiểu phức tạp có thể gây nhầm
- Viên uống Collagen DHC giúp làn da trắng mịn, tăng độ đàn hồi cho da, chống lão hóa, xóa mờ vết thâm nám, mang lại sự tươi trẻ cho làn da.- Viên uống bổ
**C#** (**C Sharp**, đọc là _"xi-sáp"_) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ được phát triển bởi Microsoft, C# là phần khởi đầu cho kế hoạch .NET của họ.
**Kiểm thử phần mềm** (tiếng Anh: **Software testing**) là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ
**Thượng viện Hoa Kỳ** (tiếng Anh: _United States Senate_) là một trong hai viện của Quốc hội Hoa Kỳ. Thượng viện Hoa Kỳ, cùng với Hạ viện Hoa Kỳ, tạo thành cơ quan lập pháp
- Viên uống DHC bổ sung Vitamin C 120 viên của Nhật bản dùng trong 60 ngày, giúp tăng cường sức đề kháng, chống lão hóa, làm sáng da,duy trì sắc đẹp và tuổi thanh
Xây dựng bệnh viện thông minh, thân thiện, an toàn và đặt người bệnh làm trung tâm.Bệnh viện thành phố Thủ Đức có trụ sở chính tọa lạc tại số 29 Phú Châu – P.
**Washington, D.C.**, tên chính thức là **Đặc khu Columbia** (), còn được gọi là **Washington** hoặc **D.C.**, là thủ đô và là đặc khu liên bang duy nhất của Hoa Kỳ. Nó tọa lạc trên
**_The C Programming Language_** là một cuốn sách hướng dẫn lập trình ngôn ngữ C, tác giả Brian Kernighan và Dennis Ritchie, những người sau này đã thiết kế và triển khai ngôn ngữ này
Class trong **C++** là khái niệm được người dùng định nghĩa như một kiểu dữ liệu đơn giản hay một cấu trúc dữ liệu, được khai báo bằng từ khóa **class, **nó chứa các biến
Vitamin C của Mỹ Puritan’s Pride với Vitamin C 1000mg từ tự nhiên trong mỗi viên có tác dụng tăng cường hệ miễn dịch, chống oxi hóa, tăng cường hấp thu và tổng hợp collagen
Đây là một danh sách chưa đầy đủ của các tiêu chuẩn ISO. Một số tiêu chuẩn được ISO/IEC JTC1 công bố, đã được đăng cho mọi người [http://isotc.iso.org/livelink/livelink/fetch/2000/2489/Ittf_Home/PubliclyAvailableStandards.htm tự do truy cập] ## ISO
**Học viện Hải quân (HQH)** là một học viện quân sự trực thuộc quân chủng Hải quân của Bộ Quốc phòng chuyên đào tạo sĩ quan chỉ huy hải quân & cảnh sát biển cấp
Vitamin C là một chất dinh dưỡng thiết yếu mà cơ thể con người không tự tổng hợp được, cần phải bổ sung từ chế độ ăn.Vitamin C tham gia vào hầu hết các quá
- Viên uống bổ sung vitamin tổng hợp DHC 60 viên với 12 dưỡng chất thiết yếu được chiết xuất 100% từ thiên nhiên.- Vitamin tổng hợp DHC tốt cho sức khỏe, làm giảm căng
**Học viện Tòa án** (tiếng Anh là: Vietnam Court Academy - VCA) (tiền thân là: Trường Tư pháp Trung ương) là cơ sở giáo dục hàm Học viện hệ công lập thuộc hệ thống giáo
* Dầu Gội Cặp Weilaiya Thảo Dược Mọc Tóc Hỗ Trợ Trị Rụng Tóc Kích Thích Mọc Tóc Weilaiya Tinh Chất Gừng Hà Thủ Ô Cao Cấp Chiết Xuất 100% Từ Thiên Nhiên Không Chứa
Viên uống bổ gan Cà Gai Leo GOLDTEX được điều từ chế từ 100% thành phần tự nhiên với công thức có sự kết hợp từ nhiều dược liệu kinh điển có tác dụng hỗ
Pregnacare Breast-feeding là viên uống tổng hợp dành cho phụ nữ sau sinh và trong thời gian cho con bú. Với 2 viên nang riêng biệt màu xanh và màu vàng, Pregnacare Max bổ sung
Việc sử dụng kem chống nắng hàng ngày là vô cùng cần thiết nhưng liệu bôi bên ngoài như vậy đã bảo vệ bạn hoàn toàn trước ánh nắng mặt trời? Ngoài ra sử dụng
Sử dụng 100% thành phần tự nhiên trên dây chuyền công nghệ hiện đại, sản phẩm Viên sủi sáng da chống lão hóa Hoàn Liễu An lần đầu tiên được chính thức giới thiệu tại
**USS _Kendall C. Campbell_ (DE-443)** là một tàu hộ tống khu trục lớp _John C. Butler_ từng phục vụ cùng Hải quân Hoa Kỳ trong Chiến tranh Thế giới thứ hai. Nó là chiếc tàu
**C ++ 17** là phiên bản sửa đổi của tiêu chuẩn ISO/IEC 14882 cho ngôn ngữ lập trình C++. ## Lịch sử Trước khi Ủy ban Tiêu chuẩn C++ ấn định chu kỳ phát hành
TINH DẦU THÔNG ĐỎ CAO CẤP SOLNARA HÀN QUỐC HỘP 60 VIÊNTinh dầu thông đỏ Solnara được chiết xuất 100% từ Lá Thông Kim ở vùng núi cao Geumgangsong với điều kiện tư nhiên và
**Viện hàn lâm Khoa học quốc gia Ukraina** (tiếng Ukraina: Національна академія наук України, _Natsional’na akademiya nauk Ukrayiny_, viết tắt **NANU**, tiếng Anh: National Academy of Sciences of Ukraine, viết tắt **NASU**) là cơ quan
**Turbo C++** là một trình biên dịch C++ và môi trường phát triển tích hợp và ngôn ngữ máy tính đã ngừng hoạt động, do Borland phát triển. Gần đây nhất nó được công ty
Bệnh viện Trung ương Huế được thành lập năm 1894, là Bệnh viện tây y đầu tiên ở Việt Nam, tọa lạc tại số 16 đường Lê Lợi, phường Vĩnh Ninh, thành phố Huế, tỉnh
Bệnh viện Trung ương Huế được thành lập năm 1894, là Bệnh viện tây y đầu tiên ở Việt Nam, tọa lạc tại số 16 đường Lê Lợi, phường Vĩnh Ninh, thành phố Huế, tỉnh
Một **tổ chức 501 (c)** là một tổ chức phi lợi nhuận trong luật liên bang của Hoa Kỳ theo và là một trong 29 loại tổ chức phi lợi nhuận được miễn một số
**Nintendo Switch** là một loại máy chơi trò chơi điện tử do Nintendo phát triển và phát hành ở hầu hết các khu vực trên toàn thế giới ngày 3 tháng 3 năm 2017. Thân máy
**Thủ tướng Chính phủ nước Cộng hòa xã hội chủ nghĩa Việt Nam** (thường được gọi tắt là **Thủ tướng**, **Thủ tướng Chính phủ**) là người đứng đầu Chính phủ của nước Cộng hòa xã
**Tu chính án thứ 19** (**Tu chính án XIX**) cấm chính phủ liên bang, tiểu bang từ chối quyền bầu cử của công dân Hoa Kỳ theo giới tính. Tuy đề xuất lên Quốc hội
**Câu lạc bộ bóng đá Wrexham** là một câu lạc bộ bóng đá chuyên nghiệp có trụ sở ở Wrexham, Wales. Thành lập năm 1864, đây là câu lạc bộ lâu đời nhất ở Wales
**Câu lạc bộ bóng đá Maidstone United** là một câu lạc bộ bóng đá chuyên nghiệp Anh đến từ Maidstone, Kent. Hiện tại đội đang thi đấu ở National League South, cấp độ thứ sáu
**Câu lạc bộ bóng đá Carshalton Athletic** là một câu lạc bộ bóng đá Anh có trụ sở ở Carshalton trong khu Sutton của Luân Đôn. Hiện tại đội thi đấu ở và có sân
**Câu lạc bộ bóng đá Liverpool** () là một câu lạc bộ bóng đá chuyên nghiệp có trụ sở tại Liverpool, Anh, hiện đang thi đấu ở Premier League, giải đấu hàng đầu của hệ
Top: Axít ascorbic
(dạng khử)
Bottom: Axít dehydroascorbic
(dạng oxy hóa)
**Vitamin C**, hay **acid ascorbic** là một chất dinh dưỡng thiết yếu cho
**Câu lạc bộ bóng đá Manchester City** () là một câu lạc bộ bóng đá Anh có trụ sở tại Manchester, thi đấu tại Giải bóng đá Ngoại hạng Anh, giải đấu hàng đầu của