Latest web development tutorials
×

C หลักสูตร

C กวดวิชาภาษา C แนะนำโดยย่อ C การตั้งค่าสภาพแวดล้อม C โครงสร้างหลักสูตร C ไวยากรณ์พื้นฐาน C ชนิดข้อมูล C ตัวแปร C คงที่ C ประเภทการจัดเก็บ C ผู้ประกอบการ C ผู้พิพากษา C การไหลเวียน C ฟังก์ชัน C การกำหนดขอบเขตกฎระเบียบ C แถว C ชี้ C เชือก C โครงสร้าง C สหภาพ C ฟิลด์บิต C typedef C อินพุตและเอาต์พุต C การอ่านออกเขียนเอกสาร C preprocessor C ส่วนหัว C ปลดเปลื้อง C จัดการข้อผิดพลาด C recursion C พารามิเตอร์ตัวแปร C จัดการหน่วยความจำ C บรรทัดคำสั่ง C คลาสสิก 100 ราย

C ห้องสมุดมาตรฐาน

C ห้องสมุดมาตรฐาน - คู่มืออ้างอิง C ห้องสมุดมาตรฐาน - <assert.h> C ห้องสมุดมาตรฐาน - <ctype.h> C ห้องสมุดมาตรฐาน - <errno.h> C ห้องสมุดมาตรฐาน - <float.h> C ห้องสมุดมาตรฐาน - <limits.h> C ห้องสมุดมาตรฐาน - <locale.h> C ห้องสมุดมาตรฐาน - <math.h> C ห้องสมุดมาตรฐาน - <setjmp.h> C ห้องสมุดมาตรฐาน - <signal.h> C ห้องสมุดมาตรฐาน - <stdarg.h> C ห้องสมุดมาตรฐาน - <stddef.h> C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <string.h> C ห้องสมุดมาตรฐาน - <time.h>

C บรรทัดคำสั่ง

เมื่อรันโปรแกรมบรรทัดคำสั่งสามารถส่งผ่านค่าในการเขียนโปรแกรมซีค่าเหล่านี้จะเรียกว่าอาร์กิวเมนต์บรรทัดคำสั่งพวกเขามีความสำคัญในการเขียนโปรแกรมโดยเฉพาะอย่างยิ่งถ้าคุณต้องการที่จะควบคุมจากโปรแกรมภายนอกไม่ได้อยู่ในรหัสเมื่อค่าเหล่านี้ยากรหัสเป็นสิ่งสำคัญโดยเฉพาะอย่างยิ่ง

บรรทัดคำสั่งคือการใช้หลัก ()ฟังก์ชั่นการประมวลผลพารามิเตอร์ขัดแย้ง argc หมายถึงจำนวนของพารามิเตอร์ผ่าน,argv [] คืออาร์เรย์ของตัวชี้ให้แต่ละพารามิเตอร์ที่ส่งผ่านไปยังจุดโปรแกรม นี่คือตัวอย่างง่ายๆในการตรวจสอบว่ามีบรรทัดคำสั่งอาร์กิวเมนต์ให้บริการและดำเนินการดำเนินการที่เหมาะสมตามพารามิเตอร์:

#include <stdio.h>

int main( int argc, char *argv[] )  
{
   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

ใช้พารามิเตอร์รวบรวมและรันโค้ดข้างต้นก็จะให้ผลลัพธ์ที่ต่อไปนี้:

$./a.out testing
The argument supplied is testing

สองข้อโต้แย้งรวบรวมและรันโค้ดข้างต้นก็จะให้ผลลัพธ์ที่ต่อไปนี้:

$./a.out testing1 testing2
Too many arguments supplied.

ไม่ผ่านพารามิเตอร์ใด ๆ รวบรวมและรันโค้ดข้างต้นก็จะให้ผลลัพธ์ที่ต่อไปนี้:

$./a.out
One argument expected

มันควรจะตั้งข้อสังเกต argv [0] การจัดเก็บชื่อของโปรแกรมที่argv [1] เป็นตัวชี้ไปยังตัวชี้อาร์กิวเมนต์บรรทัดคำสั่งแรก * argv [N] เป็นพารามิเตอร์ที่ผ่านมา ถ้าขัดแย้งใด argc จะเป็น 1.มิฉะนั้นถ้าคุณผ่านพารามิเตอร์ argc จะถูกกำหนดเป็น 2

ระหว่างส่วนใหญ่ของบรรทัดคำสั่งคั่นด้วยช่องว่าง แต่ถ้าอาร์กิวเมนต์ของตัวเองที่มีพื้นที่แล้วส่งผ่านพารามิเตอร์เมื่อพารามิเตอร์ควรจะอยู่ในราคาคู่ "" หรือราคาเดียว '' ภายใน ลองเขียนตัวอย่างข้างต้นมีช่องว่างแล้วคุณสามารถดูใส่ไว้ในเครื่องหมายคำพูดคู่หรือเดียว. "" "". ลองเขียนตัวอย่างข้างต้นจะผ่านโปรแกรมที่วางอยู่ภายในพารามิเตอร์บรรทัดคำพูดสองคำสั่ง:

#include <stdio.h>

int main( int argc, char *argv[] )  
{
   printf("Program name %s\n", argv[0]);
 
   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

ใช้พารามิเตอร์ง่ายๆที่คั่นด้วยช่องว่างพารามิเตอร์อัญประกาศรวบรวมและรันโค้ดข้างต้นก็จะให้ผลลัพธ์ที่ต่อไปนี้:

$./a.out "testing1 testing2"

Progranm name ./a.out
The argument supplied is testing1 testing2