เครื่องมือแห่งชาติ 320682 Lab Windows Standard Libraries

ข้อมูลจำเพาะ
- ชื่อสินค้า : SCXI-1121
- ฉบับ: เดือนกรกฎาคม 1996
- หมายเลขชิ้นส่วน: 320682C-01
ข้อมูลสินค้า
SCXI-1121 เป็นโมดูลเก็บข้อมูลอเนกประสงค์ที่ออกแบบมาเพื่อใช้ในการใช้งานการวัดและการควบคุมต่างๆ มีความเข้ากันได้กับ LabVIEW, LabWindows และสภาพแวดล้อมซอฟต์แวร์อื่นๆ เพื่อการผสานรวมเข้ากับการตั้งค่าที่มีอยู่ของคุณได้อย่างราบรื่น
คำแนะนำการใช้ผลิตภัณฑ์
บทที่ 1: ไลบรารี ANSI C
บทนี้ให้ข้อมูลเกี่ยวกับฟังก์ชัน fdopen
บทที่ 2: การจัดรูปแบบและไลบรารี I/O
ไลบรารีการจัดรูปแบบและ I/O มีฟังก์ชันสำหรับการจัดรูปแบบและการจัดการสตริง และยังครอบคลุมฟังก์ชันพิเศษสำหรับการสแกนและจัดรูปแบบข้อมูลอีกด้วย
ฟังก์ชันการจัดรูปแบบ–จัดรูปแบบสตริง:
เรียนรู้วิธีใช้สตริงรูปแบบเพื่อการจัดรูปแบบข้อมูลที่แม่นยำ
ตัวแก้ไขการจัดรูปแบบ:
ทำความเข้าใจกับตัวแก้ไขการจัดรูปแบบต่างๆ ที่ใช้สำหรับการปรับแต่งเอาต์พุต
บทที่ 3: ไลบรารีการวิเคราะห์
ไลบรารีการวิเคราะห์มีฟังก์ชันสำหรับการวิเคราะห์ข้อมูลและการรายงาน รวมถึงกลไกการรายงานข้อผิดพลาดเพื่อการแก้ไขปัญหาที่มีประสิทธิภาพ
คำแนะนำในการใช้แผงฟังก์ชันการวิเคราะห์:
รับเคล็ดลับในการใช้แผงฟังก์ชันการวิเคราะห์อย่างมีประสิทธิภาพสำหรับความต้องการในการประมวลผลข้อมูลของคุณ
การรายงานข้อผิดพลาดในการวิเคราะห์:
เรียนรู้วิธีรายงานและจัดการกับข้อผิดพลาดที่พบในระหว่างกระบวนการวิเคราะห์
คำถามที่พบบ่อย
- ถาม: ฉันจะรับบริการรับประกันสำหรับ SCXI-1121 ได้อย่างไร
- A: หากต้องการรับบริการตามการรับประกัน คุณต้องได้รับหมายเลขการอนุมัติการคืนวัสดุ (RMA) จากโรงงานก่อน ควรทำเครื่องหมายหมายเลขนี้ไว้อย่างชัดเจนบนบรรจุภัณฑ์ก่อนส่งคืนอุปกรณ์เพื่อซ่อมแซมหรือเปลี่ยนใหม่ National Instruments รับผิดชอบค่าขนส่งสำหรับชิ้นส่วนที่อยู่ภายใต้การรับประกัน
- ถาม: ฉันสามารถทำซ้ำหรือส่งคู่มือนี้ได้หรือไม่
- A: ภายใต้กฎหมายลิขสิทธิ์ ห้ามทำซ้ำหรือส่งต่อสิ่งพิมพ์นี้ในรูปแบบใดๆ โดยไม่ได้รับความยินยอมเป็นลายลักษณ์อักษรล่วงหน้าจาก National Instruments Corporation
-
SCXI-1121
ห้องปฏิบัติการ Windows®/CVI
คู่มืออ้างอิงห้องสมุดมาตรฐาน
หมายเลขชิ้นส่วนฉบับเดือนกรกฎาคม 1996 320682C-01
© ลิขสิทธิ์ 1994, 1996 National Instruments Corporation สงวนลิขสิทธิ์.
การสนับสนุนทางอินเทอร์เน็ต
GPIB: gpib.support@natinst.com ดีเอคิว: daq.support@natinst.com วีซีไอ: vxi.support@natinst.com แล็ปVIEW: lv.support@natinst.com แล็บวินโดวส์: lw.support@natinst.com ไฮคิว: hiq.support@natinst.com วีซ่า: visa.support@natinst.com จุดสังเกต: lookout.support@natinst.com เว็บไซต์ FTP: ftp.natinst.com Web ที่อยู่: www.natinst.com
การสนับสนุนกระดานข่าว
บีบีเอส สหรัฐอเมริกา: 512-794-5422 or 800-327-3077 BBS สหราชอาณาจักร: 01635 551422 BBS ฝรั่งเศส: 1 48 65 15 59
รองรับแฟกซ์แบ็ค
512-418-1111
การสนับสนุนทางโทรศัพท์ (สหรัฐอเมริกา)
โทร: 512-795-8248 โทรสาร: 512-794-5678
สำนักงานระหว่างประเทศ
ออสเตรเลีย 03 9 879 9422, ออสเตรีย 0662 45 79 90 0, เบลเยียม 02 757 00 20, แคนาดา (ออนแทรีโอ) 519 622 9310, แคนาดา (ควิเบก) 514 694 8521, เดนมาร์ก 45 76 26 00, ฟินแลนด์ 90 527 2321, ฝรั่งเศส 1 48 14 24 24, เยอรมนี 089 741 31 30, ฮ่องกง 2645 3186, อิตาลี 02 413091, ญี่ปุ่น 03 5472 2970, เกาหลี 02 596 7456, เม็กซิโก 95 800 010 0793, เนเธอร์แลนด์ 0348 433466, นอร์เวย์ 32 84 84 00, สิงคโปร์ 2265886 สเปน 91 640 0085, สวีเดน 08 730 49 70, สวิตเซอร์แลนด์ 056 200 51 51, ไต้หวัน 02 377 1200, UK 01635 523545
สำนักงานใหญ่ของบริษัทเครื่องดนตรีแห่งชาติ
6504 บริดจ์พอยท์ปาร์คเวย์
ออสติน, เท็กซัส 78730-5039 โทรศัพท์: 512-794-0100
การรับประกัน
สื่อที่คุณได้รับซอฟต์แวร์ National Instruments ได้รับการรับประกันว่าจะไม่ล้มเหลวในการปฏิบัติตามคำแนะนำในการเขียนโปรแกรม เนื่องจากความบกพร่องของวัสดุและฝีมือการผลิต เป็นระยะเวลา 90 วันนับจากวันที่จัดส่ง ตามหลักฐานในใบเสร็จรับเงินหรือเอกสารอื่นๆ National Instruments จะดำเนินการซ่อมแซมหรือเปลี่ยนสื่อซอฟต์แวร์ที่ไม่ดำเนินการตามคำแนะนำในการเขียนโปรแกรม หาก National Instruments ได้รับแจ้งเกี่ยวกับข้อบกพร่องดังกล่าวในระหว่างระยะเวลาการรับประกัน National Instruments ไม่รับประกันว่าการทำงานของซอฟต์แวร์จะไม่หยุดชะงักหรือปราศจากข้อผิดพลาด
ต้องได้รับหมายเลขการอนุญาตคืนวัสดุ (RMA) จากโรงงานและทำเครื่องหมายไว้ด้านนอกของบรรจุภัณฑ์อย่างชัดเจน ก่อนที่อุปกรณ์ใดๆ จะได้รับการยอมรับสำหรับงานรับประกัน National Instruments จะจ่ายค่าขนส่งในการส่งคืนชิ้นส่วนของเจ้าของซึ่งอยู่ภายใต้การรับประกัน
National Instruments เชื่อว่าข้อมูลในคู่มือนี้มีความถูกต้อง เอกสารได้รับอย่างระมัดระวังอีกครั้งviewed เพื่อความถูกต้องทางเทคนิค ในกรณีที่มีข้อผิดพลาดทางเทคนิคหรือการพิมพ์ National Instruments ขอสงวนสิทธิ์ในการเปลี่ยนแปลงเอกสารนี้ในฉบับต่อๆ ไป โดยไม่ต้องแจ้งให้ผู้ถือเอกสารฉบับนี้ทราบล่วงหน้า ผู้อ่านควรปรึกษา National Instruments หากสงสัยว่ามีข้อผิดพลาด ไม่ว่าในกรณีใด National Instruments จะไม่รับผิดชอบต่อความเสียหายใดๆ ที่เกิดขึ้นจากหรือเกี่ยวข้องกับเอกสารนี้หรือข้อมูลที่อยู่ในเอกสารนี้
ยกเว้นตามที่ระบุไว้ในที่นี้ ตราสารแห่งชาติไม่รับประกันใดๆ ทั้งโดยชัดแจ้งหรือโดยปริยาย และปฏิเสธการรับประกันโดยเจาะจงถึงคุณค่าในเชิงพาณิชย์หรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ สิทธิ์ของลูกค้าในการกู้คืนความเสียหายที่เกิดจากความผิดพลาดหรือความประมาทเลินเล่อในส่วนของเครื่องมือประจำชาติจะจำกัดเพียงจำนวนเงินที่ลูกค้าจ่ายไปก่อน เครื่องมือระดับชาติจะไม่รับผิดชอบต่อความเสียหายที่เกิดจากการสูญหายของข้อมูล ผลกำไร การใช้ผลิตภัณฑ์ หรือความเสียหายโดยบังเอิญหรือเป็นผลสืบเนื่อง แม้ว่าจะได้รับคำแนะนำถึงความเป็นไปได้ดังกล่าวแล้วก็ตาม การจำกัดความรับผิดของ National Instruments นี้จะนำไปใช้โดยไม่คำนึงถึงรูปแบบของการกระทำ ไม่ว่าจะเป็นสัญญาหรือการละเมิด รวมถึงความประมาทเลินเล่อ การดำเนินการใด ๆ ต่อ National Instruments จะต้องดำเนินการภายในหนึ่งปีหลังจากสาเหตุของการฟ้องร้องเกิดขึ้น National Instruments จะไม่รับผิดชอบต่อความล่าช้าในการปฏิบัติงานเนื่องจากสาเหตุที่อยู่นอกเหนือการควบคุมตามสมควร การรับประกันที่ให้ไว้ในที่นี้ไม่ครอบคลุมถึงความเสียหาย ข้อบกพร่อง การทำงานผิดปกติ หรือความล้มเหลวในการบริการที่เกิดจากการที่เจ้าของไม่ปฏิบัติตามคำแนะนำในการติดตั้ง การใช้งาน หรือการบำรุงรักษา National Instruments การดัดแปลงของเจ้าของผลิตภัณฑ์ การใช้ในทางที่ผิด การใช้งานในทางที่ผิด หรือการกระทำโดยประมาทของเจ้าของ และไฟฟ้าดับหรือไฟกระชาก ไฟไหม้ น้ำท่วม อุบัติเหตุ การกระทำของบุคคลที่สาม หรือเหตุการณ์อื่น ๆ ที่อยู่นอกเหนือการควบคุมที่สมเหตุสมผล
ลิขสิทธิ์
ภายใต้กฎหมายลิขสิทธิ์ ห้ามทำซ้ำหรือส่งต่อสื่อสิ่งพิมพ์นี้ในรูปแบบใดๆ ทั้งทางอิเล็กทรอนิกส์หรือทางกลไก รวมทั้งการถ่ายเอกสาร การบันทึก การจัดเก็บในระบบสืบค้นข้อมูล หรือการแปลทั้งหมดหรือบางส่วน โดยไม่ได้รับความยินยอมเป็นลายลักษณ์อักษรล่วงหน้าจาก National Instruments บริษัท.
เครื่องหมายการค้า
NI-DAQ®, NI-488.2TM และ NI-488.2MTM เป็นเครื่องหมายการค้าของ National Instruments Corporation
ชื่อผลิตภัณฑ์และบริษัทที่แสดงเป็นเครื่องหมายการค้าหรือชื่อทางการค้าของบริษัทที่เกี่ยวข้อง
คำเตือนเกี่ยวกับการใช้เครื่องมือระดับชาติทางการแพทย์และทางคลินิก
ผลิตภัณฑ์ของ National Instruments ไม่ได้รับการออกแบบให้มีส่วนประกอบและการทดสอบที่มีจุดมุ่งหมายเพื่อให้มั่นใจถึงระดับความน่าเชื่อถือที่เหมาะสมสำหรับใช้ในการรักษาและวินิจฉัยโรคในมนุษย์ การใช้ผลิตภัณฑ์ National Instruments ที่เกี่ยวข้องกับการรักษาทางการแพทย์หรือทางคลินิกอาจทำให้เกิดการบาดเจ็บโดยอุบัติเหตุที่เกิดจากความล้มเหลวของผลิตภัณฑ์ หรือจากข้อผิดพลาดของผู้ใช้หรือผู้ออกแบบแอปพลิเคชัน การใช้หรือการใช้ผลิตภัณฑ์ National Instruments สำหรับหรือที่เกี่ยวข้องกับการรักษาทางการแพทย์หรือทางคลินิกจะต้องดำเนินการโดยบุคลากรทางการแพทย์ที่ผ่านการฝึกอบรมอย่างเหมาะสมและมีคุณสมบัติเหมาะสม และมาตรการป้องกัน อุปกรณ์ และขั้นตอนทางการแพทย์แบบดั้งเดิมทั้งหมดที่เหมาะสมในสถานการณ์เฉพาะเพื่อป้องกันการบาดเจ็บสาหัสหรือการเสียชีวิตควร ยังคงใช้อยู่เสมอเมื่อมีการใช้ผลิตภัณฑ์ของ National Instruments ผลิตภัณฑ์ของ National Instruments ไม่ได้มีวัตถุประสงค์เพื่อใช้ทดแทนกระบวนการ ขั้นตอน หรืออุปกรณ์ใดๆ ที่กำหนดไว้ซึ่งใช้ในการติดตามหรือปกป้องสุขภาพและความปลอดภัยของมนุษย์ในการรักษาทางการแพทย์หรือทางคลินิก
สิบหก
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
เกี่ยวกับคู่มือนี้
คู่มืออ้างอิงไลบรารีมาตรฐาน LabWindows/CVI ประกอบด้วยข้อมูลเกี่ยวกับไลบรารีมาตรฐาน LabWindows/CVI ได้แก่ ไลบรารีกราฟิก ไลบรารีการวิเคราะห์ ไลบรารีการจัดรูปแบบและ I/O ไลบรารี GPIB ไลบรารี GPIB-488.2 ไลบรารี RS-232 ไลบรารียูทิลิตี้และไลบรารีระบบ คู่มืออ้างอิงไลบรารีมาตรฐาน LabWindows/CVI มีไว้สำหรับผู้ใช้ LabWindows/CVI ที่ได้เสร็จสิ้นบทช่วยสอนการเริ่มต้นใช้งาน LabWindows/CVI แล้ว และคุ้นเคยกับคู่มือผู้ใช้ LabWindows/CVI หากต้องการใช้คู่มือนี้อย่างมีประสิทธิภาพ คุณควรคุ้นเคยกับพื้นฐาน LabWindows/CVI และ DOS
โครงสร้างของคู่มือนี้
คู่มืออ้างอิงไลบรารีมาตรฐาน LabWindows/CVI มีการจัดระเบียบดังนี้
· บทที่ 1 ไลบรารี ANSI C อธิบายไลบรารีมาตรฐาน ANSI C ตามที่นำมาใช้ใน LabWindows/CVI
· บทที่ 2 การจัดรูปแบบและไลบรารี I/O อธิบายฟังก์ชันในการจัดรูปแบบ LabWindows/CVI และไลบรารี I/O และมีตัวอย่างมากมายampเกี่ยวกับวิธีการใช้งาน ไลบรารีการจัดรูปแบบและ I/O มีฟังก์ชันที่ป้อนข้อมูลและส่งออกข้อมูลไป fileและจัดการรูปแบบของข้อมูลในโปรแกรม
· บทที่ 3 ไลบรารีการวิเคราะห์ อธิบายฟังก์ชันในไลบรารีการวิเคราะห์ LabWindows/CVI ฟังก์ชั่นไลบรารีการวิเคราะห์จบลงview ส่วนประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและแผงควบคุมของไลบรารีการวิเคราะห์ ส่วนการอ้างอิงฟังก์ชันไลบรารีการวิเคราะห์ประกอบด้วยรายการตามตัวอักษรของคำอธิบายฟังก์ชัน
· บทที่ 4 ไลบรารี GPIB/GPIB-488.2 อธิบายฟังก์ชัน NI-488 และ NI-488.2 ใน LabWindows/CVI GPIB Library รวมถึงฟังก์ชัน Device Manager ใน LabWindows/CVI ฟังก์ชั่นไลบรารี GPIB สิ้นสุดลงview ส่วนประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและพาเนลไลบรารี GPIB, GPIB DLL และหลักเกณฑ์และข้อจำกัดที่คุณควรทราบเมื่อใช้ไลบรารี GPIB คำอธิบายโดยละเอียดของฟังก์ชัน NI-488 และ NI-488.2 มีอยู่ในคู่มืออ้างอิงฟังก์ชัน NI-488.2 ของคุณ ส่วนการอ้างอิงฟังก์ชัน GPIB ประกอบด้วยรายการคำอธิบายตามตัวอักษรสำหรับฟังก์ชันตัวจัดการอุปกรณ์ ฟังก์ชันการติดตั้งการเรียกกลับ และฟังก์ชันสำหรับการส่งคืนตัวแปรสถานะเฉพาะเธรด
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
สิบเจ็ด
ไลบรารีมาตรฐานของ LabWindows/CVI
เกี่ยวกับคู่มือนี้
· บทที่ 5 ไลบรารี RS-232 อธิบายฟังก์ชันใน LabWindows/CVI RS-232 Library ฟังก์ชันไลบรารี RS-232 สิ้นสุดลงview ส่วนประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและแผงควบคุม RS-232 Library ส่วนการอ้างอิงฟังก์ชันไลบรารี RS-232 มีรายการคำอธิบายฟังก์ชันตามตัวอักษร
· บทที่ 6 ไลบรารี DDE อธิบายฟังก์ชันในไลบรารี LabWindows/CVI DDE (Dynamic Data Exchange) ฟังก์ชั่นไลบรารี DDE สิ้นสุดลงview ส่วนประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและแผงควบคุมของไลบรารี DDE ส่วนการอ้างอิงฟังก์ชันไลบรารี DDE ประกอบด้วยรายการคำอธิบายฟังก์ชันตามตัวอักษร ไลบรารีนี้ใช้ได้กับ LabWindows/CVI สำหรับ Microsoft Windows เท่านั้น
· บทที่ 7 ไลบรารี TCP อธิบายฟังก์ชันในไลบรารี LabWindows/CVI TCP (Transmission Control Protocol) ฟังก์ชั่นไลบรารี TCP โอเวอร์view ส่วนประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและแผงควบคุม TCP Library ส่วนการอ้างอิงฟังก์ชันไลบรารี TCP ประกอบด้วยรายการคำอธิบายฟังก์ชันตามตัวอักษร
· บทที่ 8 ไลบรารียูทิลิตี้ อธิบายฟังก์ชันในไลบรารียูทิลิตี้ LabWindows/CVI ไลบรารียูทิลิตี้มีฟังก์ชันที่ไม่เหมาะกับไลบรารี LabWindows/CVI อื่นๆ ส่วนแผงฟังก์ชันไลบรารียูทิลิตี้ประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและแผงไลบรารียูทิลิตี้ ส่วนการอ้างอิงฟังก์ชันไลบรารียูทิลิตี้ประกอบด้วยรายการคำอธิบายฟังก์ชันตามตัวอักษร
· บทที่ 9 ไลบรารีคุณสมบัติ X อธิบายฟังก์ชันในไลบรารีคุณสมบัติ CVI X ของ Lab/Windows ไลบรารีคุณสมบัติ X มีฟังก์ชันที่อ่านและเขียนคุณสมบัติเข้าและออกจาก X Windows ไลบรารี่คุณสมบัติ X จบลงแล้วview ส่วนนี้มีข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและพาเนลของไลบรารีคุณสมบัติ X ส่วนการอ้างอิงฟังก์ชันไลบรารีคุณสมบัติ X มีรายการคำอธิบายฟังก์ชันตามตัวอักษร
· บทที่ 10 Easy I/O สำหรับไลบรารี DAQ อธิบายฟังก์ชันใน Easy I/O สำหรับไลบรารี DAQ Easy I/O สำหรับฟังก์ชันไลบรารี DAQ สิ้นสุดลงview ส่วนประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชัน ตลอดจนแนวทางและข้อจำกัดที่คุณควรทราบเมื่อใช้ Easy I/O สำหรับไลบรารี DAQ ส่วน Easy I/O สำหรับการอ้างอิงฟังก์ชันไลบรารี DAQ มีรายการคำอธิบายฟังก์ชันตามตัวอักษร
· ภาคผนวก A หัวข้อการสื่อสารกับลูกค้า มีแบบฟอร์มที่คุณสามารถใช้เพื่อขอความช่วยเหลือจาก National Instruments หรือแสดงความคิดเห็นเกี่ยวกับผลิตภัณฑ์และคู่มือของเรา
· อภิธานศัพท์ประกอบด้วยรายการตามตัวอักษรและคำอธิบายคำศัพท์ที่ใช้ในคู่มือนี้ รวมถึงคำย่อ คำย่อ คำนำหน้าหน่วยเมตริก การช่วยจำ และสัญลักษณ์
· ดัชนีประกอบด้วยรายการคำศัพท์สำคัญและหัวข้อต่างๆ เรียงตามตัวอักษรในคู่มือนี้ รวมถึงหน้าที่คุณสามารถค้นหาแต่ละหัวข้อได้
ไลบรารีมาตรฐานของ LabWindows/CVI
สิบแปด
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
เกี่ยวกับคู่มือนี้
ข้อตกลงที่ใช้ในคู่มือฉบับนี้
ข้อตกลงต่อไปนี้ใช้ในคู่มือนี้:
ตัวหนา
ข้อความตัวหนาหมายถึงพารามิเตอร์ รายการเมนู ค่าที่ส่งคืน ฟังก์ชัน
รายการแผง หรือปุ่มหรือตัวเลือกในกล่องโต้ตอบ
ตัวเอียง
ข้อความตัวเอียงแสดงถึงการเน้น การอ้างอิงโยง หรือการแนะนำแนวคิดหลัก
monospace ตัวเอียงตัวหนา
monospace ตัวเอียง
ข้อความตัวเอียงที่เป็นตัวหนาแสดงถึงหมายเหตุ ข้อควรระวัง หรือคำเตือน
ข้อความในแบบอักษรนี้หมายถึงข้อความหรืออักขระที่คุณควรป้อนจากแป้นพิมพ์อย่างแท้จริง ส่วนของโค้ด การเขียนโปรแกรม เช่นampไฟล์และไวยากรณ์เช่นamples ก็ปรากฏในแบบอักษรนี้ด้วย แบบอักษรนี้ยังใช้สำหรับชื่อที่ถูกต้องของดิสก์ไดรฟ์ พาธ ไดเร็กทอรี โปรแกรม โปรแกรมย่อย รูทีนย่อย ชื่ออุปกรณ์ ตัวแปร fileชื่อ และนามสกุล และสำหรับคำสั่งและความคิดเห็นที่นำมาจากโค้ดโปรแกรม
ข้อความตัวเอียงในแบบอักษรนี้แสดงว่าคุณต้องระบุคำหรือค่าที่เหมาะสมแทนที่รายการเหล่านี้
-
วงเล็บมุมล้อมรอบชื่อของกุญแจ ยัติภังค์ระหว่างสอง
หรือมากกว่าชื่อคีย์ที่อยู่ในวงเล็บมุมแสดงว่าคุณ
ควรกดปุ่มที่มีชื่อพร้อมกันเช่นampเล,
-
»
สัญลักษณ์ » นำคุณผ่านรายการเมนูและกล่องโต้ตอบที่ซ้อนกัน
ตัวเลือกกล่องเพื่อดำเนินการขั้นสุดท้าย ลำดับ
File » ตั้งค่าหน้ากระดาษ » ตัวเลือก » แบบอักษรทดแทน
ชี้นำให้คุณดึงลง File เมนู ให้เลือกการตั้งค่าหน้ากระดาษ
รายการ เลือก ตัวเลือก และสุดท้าย เลือกแบบอักษรทดแทน
ตัวเลือกจากกล่องโต้ตอบสุดท้าย
เส้นทาง
เส้นทางในคู่มือนี้แสดงโดยใช้เครื่องหมายแบ็กสแลช () เพื่อแยกชื่อไดรฟ์ ไดเร็กทอรี และ files เช่นเดียวกับใน drivenamedir1namedir2namemyfile
IEEE 488, IEEE 488 และ IEEE 488.2 หมายถึง ANSI/IEEE Standard 488.1-1987, IEEE 488.2 และ ANSI/IEEE Standard 488.2-1992 ตามลำดับ ซึ่งกำหนด GPIB
คำย่อ คำย่อ คำนำหน้าหน่วยเมตริก การช่วยจำ สัญลักษณ์ และคำศัพท์ต่างๆ ระบุไว้ในอภิธานศัพท์
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
สิบเก้า
ไลบรารีมาตรฐานของ LabWindows/CVI
เกี่ยวกับคู่มือนี้
ชุดเอกสาร LabWindows/CVI
สำหรับการอภิปรายโดยละเอียดเกี่ยวกับวิธีที่ดีที่สุดในการใช้ชุดเอกสาร LabWindows/CVI โปรดดูส่วนการใช้ชุดเอกสาร LabWindows/CVI ในบทที่ 1 บทนำสู่ LabWindows/CVI ของการเริ่มต้นใช้งาน LabWindows/CVI
เอกสารที่เกี่ยวข้อง
เอกสารต่อไปนี้ประกอบด้วยข้อมูลที่คุณอาจพบว่ามีประโยชน์เมื่อคุณอ่านคู่มือนี้:
· ANSI/IEEE Standard 488.1-1987, อินเทอร์เฟซดิจิทัลมาตรฐาน IEEE สำหรับเครื่องมือที่ตั้งโปรแกรมได้
· ANSI/IEEE Standard 488.2-1992, รหัสมาตรฐาน IEEE, รูปแบบ, โปรโตคอล และคำสั่งทั่วไป
· Harbison, Samuel P. และ Guy L. Steele, Jr., C: A Reference Manual, Englewood Cliffs, NJ: Prentice-Hall, Inc., 1995
· ไนย์, เอเดรียน. คู่มือการเขียนโปรแกรม Xlib เซบาสโตโพล แคลิฟอร์เนีย: O'Reilly & Associates, 1994. ISBN 0-937175-27-7
· เก็ตตี้ส, เจมส์ และโรเบิร์ต ดับเบิลยู. ไชฟเลอร์ อินเทอร์เฟซ X ภาษา Xlib–C, มาตรฐาน MIT X Consortium เคมบริดจ์ แมสซาชูเซตส์: X Consortium, 1994. ISBN (ไม่มี)
การสื่อสารกับลูกค้า
National Instruments ต้องการรับความคิดเห็นของคุณเกี่ยวกับผลิตภัณฑ์และคู่มือของเรา เราสนใจแอปพลิเคชันที่คุณพัฒนาด้วยผลิตภัณฑ์ของเรา และเราต้องการช่วยเหลือหากคุณมีปัญหากับแอปพลิเคชันเหล่านั้น เพื่อให้ง่ายต่อการติดต่อเรา คู่มือนี้ประกอบด้วยแบบฟอร์มความคิดเห็นและการสนับสนุนทางเทคนิคเพื่อให้คุณกรอก แบบฟอร์มเหล่านี้อยู่ในภาคผนวก การสื่อสารกับลูกค้า ท้ายคู่มือนี้
ไลบรารีมาตรฐานของ LabWindows/CVI
xx
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 1
ห้องสมุด ANSI C
บทนี้จะอธิบายไลบรารีมาตรฐาน ANSI C ที่ใช้ใน LabWindows/CVI
หมายเหตุ: เมื่อคุณเชื่อมโยงไฟล์เรียกทำงานหรือ DLL ของคุณกับคอมไพเลอร์ภายนอก แสดงว่าคุณกำลังใช้ไลบรารี ANSI C ของคอมไพเลอร์ภายนอก
ตารางที่ 1-1 คลาสไลบรารีมาตรฐาน ANSI C
การจัดการตัวละครในคลาส
การทดสอบอักขระ การแม็ปตัวอักษร กรณีวันที่และเวลา เวลา การดำเนินการ เวลา การแปลงเวลา การจัดรูปแบบ การแปล คณิตศาสตร์ ฟังก์ชันตรีโกณมิติ ฟังก์ชันไฮเปอร์โบลิก ฟังก์ชัน Exp และบันทึก ฟังก์ชันกำลัง การกระโดดแบบไม่เฉพาะที่ การจัดการสัญญาณ อินพุต/เอาท์พุต เปิด/ปิด อ่าน/เขียน/ฟลัชไลน์ อินพุต/เอาท์พุต อินพุต/เอาท์พุตอักขระที่จัดรูปแบบ การควบคุมบัฟเฟอร์อินพุต/เอาต์พุต File การวางตำแหน่ง File การจัดการข้อผิดพลาดในการดำเนินงานของระบบ
ส่วนหัว File
(ต่อ)
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
1-1
ไลบรารีมาตรฐานของ LabWindows/CVI
ห้องสมุด ANSI C
บทที่ 1
ตารางที่ 1-1 คลาสไลบรารีมาตรฐาน ANSI C (ต่อ)
ยูทิลิตี้ทั่วไป สตริงเป็นนิพจน์ทางคณิตศาสตร์ การสร้างตัวเลขสุ่ม การจัดการหน่วยความจำ การค้นหาและการเรียงลำดับจำนวนเต็ม เลขคณิต มัลติไบต์ ชุดอักขระ สภาพแวดล้อมการสิ้นสุดโปรแกรม
การดำเนินการสตริงการจัดการไบต์ การดำเนินการสตริง การค้นหาสตริง ฟังก์ชันการเปรียบเทียบ เบ็ดเตล็ด
ฟังก์ชัน I/O ระดับต่ำ
ภายใต้ UNIX คุณสามารถใช้ฟังก์ชัน I/O ระดับต่ำ (เช่น เปิด, เปิด, อ่านและเขียน) จากไลบรารีระบบโดยรวมส่วนหัวของระบบ fileอยู่ในโปรแกรมของคุณ ใน Windows คุณสามารถใช้ฟังก์ชันเหล่านี้โดยรวม cviincludeansilowlvlio.h ไว้ในโปรแกรมของคุณ ไม่มีแผงฟังก์ชันสำหรับฟังก์ชันเหล่านี้
การเพิ่มภาษามาตรฐาน
LabWindows/CVI ไม่รองรับชุดอักขระเพิ่มเติมที่ต้องใช้มากกว่า 8 บิตต่ออักขระ ด้วยเหตุนี้ ประเภทอักขระแบบกว้าง wchar_t จึงเหมือนกับประเภทอักขระแบบไบต์เดี่ยว LabWindows/CVI ยอมรับค่าคงที่อักขระแบบกว้างที่ระบุด้วยคำนำหน้า L (เช่นเดียวกับใน L`ab') แต่เฉพาะอักขระตัวแรกเท่านั้นที่มีนัยสำคัญ นอกจากนี้ ฟังก์ชันไลบรารีที่ใช้ชนิด wchar_t ทำงานเฉพาะกับอักขระ 8 บิตเท่านั้น
LabWindows/CVI รองรับฟังก์ชันอาร์กิวเมนต์แบบแปรผันโดยใช้มาโคร ANSI C โดยมีข้อยกเว้นประการหนึ่งคือ ไม่มีอาร์กิวเมนต์ที่ไม่ได้ระบุใดที่สามารถมีประเภทโครงสร้างได้ ด้วยเหตุนี้จึงไม่ควรใช้แมโคร va_arg (ap, type) เมื่อ type เป็นโครงสร้าง
หมายเหตุ: LabWindows/CVI จะไม่เตือนคุณเกี่ยวกับข้อผิดพลาดนี้
ภายใต้ UNIX นั้น LabWindows/CVI จะใช้เฉพาะภาษา C ตามที่กำหนดโดยมาตรฐาน ANSI C โลแคลดั้งเดิมซึ่งระบุโดยสตริงว่าง “” ก็เป็นภาษา C เช่นกัน ตารางต่อไปนี้แสดงค่าข้อมูลโลแคลสำหรับโลแคล C
ไลบรารีมาตรฐานของ LabWindows/CVI
1-2
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 1
ห้องสมุด ANSI C
ตารางที่ 1-2 C ค่าข้อมูลสถานที่
ชื่อ
decimal_point พัน sep การจัดกลุ่ม int_curr_สัญลักษณ์
currency_สัญลักษณ์ mon_decimal_point mon_thousands_sep mon_grouping เครื่องหมายบวก เครื่องหมายลบ int_frac_digits frac_digits p_cs_precedes p_sep_by_space
n_cs_precedes n_sep_by_space p_sign_posn
เครื่องหมาย n
พิมพ์ C locale ค่า คำอธิบาย
ถ่าน *
-
อักขระจุดทศนิยมสำหรับรายการที่ไม่เป็นตัวเงิน
คุณค่า
ถ่าน *
-
อักขระตัวคั่นกลุ่มหลักที่ไม่ใช่ตัวเงิน
หรือตัวอักษร
ถ่าน *
-
การจัดกลุ่มตัวเลขที่ไม่เป็นตัวเงิน
ถ่าน *
-
สกุลเงินต่างประเทศสามอักขระ
สัญลักษณ์บวกกับอักขระที่ใช้แยก
สัญลักษณ์สากลจากการเงิน
ปริมาณ.
ถ่าน *
-
สัญลักษณ์สกุลเงินท้องถิ่นสำหรับปัจจุบัน
สถานที่
ถ่าน *
-
อักขระจุดทศนิยมสำหรับค่าเงิน
ถ่าน *
-
อักขระตัวคั่นกลุ่มหลักการเงินหรือ
ตัวละคร
ถ่าน *
-
การจัดกลุ่มหลักทางการเงิน
ถ่าน *
-
ลงชื่ออักขระหรืออักขระที่ไม่ใช่ค่าลบ
ปริมาณทางการเงิน
ถ่าน *
-
ลงชื่ออักขระหรืออักขระสำหรับค่าลบ
ปริมาณทางการเงิน
ชาร์
CHAR_MAX ตัวเลขปรากฏทางด้านขวาของจุดทศนิยมสำหรับรูปแบบการเงินระหว่างประเทศ
ชาร์
CHAR_MAX ตัวเลขปรากฏทางด้านขวาของจุดทศนิยมสำหรับรูปแบบอื่นที่ไม่ใช่รูปแบบการเงินระหว่างประเทศ
ชาร์
CHAR_MAX 1 ถ้า currency_สัญลักษณ์นำหน้าค่าเงินที่ไม่เป็นลบ 0 ถ้าเป็นไปตามนี้
ชาร์
ชาร์แม็กซ์
1 ถ้า currency_สัญลักษณ์ ถูกแยกออกจากมูลค่าทางการเงินที่ไม่เป็นลบด้วยช่องว่าง อย่างอื่น 0
ชาร์
CHAR_MAX เช่นเดียวกับ p_cs_precedes สำหรับค่าลบ
ชาร์
CHAR_MAX เช่นเดียวกับ p_sep_by_space สำหรับค่าลบ
ชาร์
ชาร์แม็กซ์
การวางตำแหน่งของ positive_sign สำหรับ
ปริมาณการเงินที่ไม่เป็นลบ จากนั้นจึง currency_สัญลักษณ์
ชาร์
ชาร์แม็กซ์
การวางตำแหน่งของเครื่องหมายลบสำหรับ
ปริมาณเงินตราติดลบ จากนั้นจึง currency_สัญลักษณ์
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
1-3
ไลบรารีมาตรฐานของ LabWindows/CVI
ห้องสมุด ANSI C
บทที่ 1
ใน Windows นั้น LabWindows/CVI จะใช้ภาษาเริ่มต้นโดยใช้รายการที่เหมาะสมจากส่วน Intl ของ WIN.INI file และฟังก์ชัน Microsoft Windows ที่เหมาะสม สิ่งใดก็ตามที่ไม่ได้กล่าวถึงที่นี่จะมีพฤติกรรมเหมือนกันภายใต้ภาษาเริ่มต้นตามที่ระบุไว้ในภาษา C
สำหรับภาษา LC_NUMERIC:
· decimal_point แมปกับค่า sDecimal
· แมป Thousand_sep ให้เป็นค่า sThousand
สำหรับโลแคล LC_MONETARY:
· currency_สัญลักษณ์แมปกับค่าของ sCurrency
· mon_decimal_point แมปกับค่า sDecimal
· mon_thousands_sep แมปกับค่า sThousand
· frac_digits แมปกับค่าของ iCurrDigits
· int_frac_digits แมปกับค่าของ iCurrDigits
· p_cs_precedes และ n_cs_precedes ถูกตั้งค่าเป็น 1 หาก iCurrency เท่ากับ 0 หรือ 2 มิฉะนั้นจะถูกตั้งค่าเป็น 0
· p_sep_by_space และ n_sep_by_space ถูกตั้งค่าเป็น 0 หาก iCurrency เท่ากับ 0 หรือ 1 มิฉะนั้นจะถูกตั้งค่าเป็น 0
· p_sign_posn และ n_sign_posn ถูกกำหนดโดยค่าของ iNegCurr ดังนี้:
มูลค่าของ iNegCurr 0, 4 1, 5, 8, 9 3, 7, 10 6 2
ค่าของ p_sign_posn/n_sign_posn 0 1 2 3 4
สำหรับโลแคล LC_CTYPE: · isalnum แมปกับฟังก์ชัน Windows isCharAlphaNumeric · แผนที่ isalpha ไปยังฟังก์ชัน Windows isCharAlpha
ไลบรารีมาตรฐานของ LabWindows/CVI
1-4
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 1
ห้องสมุด ANSI C
· แผนที่ที่ต่ำกว่าไปยังฟังก์ชัน Windows isCharLower
· isupper แมปกับฟังก์ชัน Windows isCharUpper
· tolower แมปกับฟังก์ชัน Windows AnsiLower
· toupper แมปกับฟังก์ชัน Windows AnsiUpper
สำหรับโลแคล LC_TIME:
· strftime ใช้รายการต่อไปนี้จาก WIN.INI file สำหรับตัวระบุรูปแบบที่เหมาะสม: sTime, iTime, s1159, s2359, iTLZero, sShortDate และ sLongDate
· ชื่อของวันธรรมดาและชื่อของเดือนตรงกับเวอร์ชันภาษาของ LabWindows/CVI นั่นคือ LabWindows/CVI เวอร์ชันภาษาเยอรมันจะใช้ชื่อเดือนและวันในภาษาเยอรมัน
สำหรับโลแคล LC_COLLATE:
· strcoll แมปกับฟังก์ชัน Windows lstrcmp
เนื่องจาก LabWindows/CVI ไม่สนับสนุนชุดอักขระเพิ่มเติมที่ต้องใช้มากกว่าไบต์ต่ออักขระ อักขระหลายไบต์ใน LabWindows/CVI จึงเป็นอักขระไบต์เดียว ในทำนองเดียวกัน ลำดับแบบหลายไบต์คือลำดับของอักขระไบต์เดี่ยว เนื่องจากอักขระหลายไบต์เหมือนกับอักขระแบบกว้าง ฟังก์ชันการแปลงที่อธิบายไว้ในส่วนเหล่านี้จึงทำหน้าที่มากกว่าส่งคืนอินพุตเป็นเอาต์พุตเพียงเล็กน้อย
การประมวลผลอักขระ
LabWindows/CVI ใช้สิ่งอำนวยความสะดวกในการประมวลผลอักขระ ANSI C ทั้งหมดเป็นทั้งมาโครและฟังก์ชัน มาโครจะถูกปิดใช้งานเมื่อระดับการแก้ไขจุดบกพร่องของ LabWindows/CVI ถูกตั้งค่าเป็นมาตรฐานหรือแบบขยาย เพื่อให้การป้องกันผู้ใช้พร้อมใช้งานสำหรับอาร์กิวเมนต์ของฟังก์ชัน
การประมวลผลสตริง
ภายใต้ UNIX ฟังก์ชัน strcoll จะเทียบเท่ากับ strcmp และลักษณะการทำงานของฟังก์ชันไม่ได้รับผลกระทบจากโลแคล LC_COLLATE ใน Windows strcoll จะเทียบเท่ากับฟังก์ชัน Windows lstrcmp สำหรับทั้งสองแพลตฟอร์ม ฟังก์ชัน strxfrm ทำการคัดลอกสตริงโดยใช้ strncpy และส่งกลับความยาวของอาร์กิวเมนต์ที่สอง
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
1-5
ไลบรารีมาตรฐานของ LabWindows/CVI
ห้องสมุด ANSI C
บทที่ 1
สิ่งอำนวยความสะดวกอินพุต/เอาต์พุต
การเปลี่ยนชื่อฟังก์ชันล้มเหลวหากเป้าหมาย file มีอยู่แล้ว. ภายใต้ Microsoft Windows การเปลี่ยนชื่อจะล้มเหลวหากแหล่งที่มาและเป้าหมาย fileอยู่บนดิสก์ไดรฟ์ที่แตกต่างกัน ภายใต้ UNIX การเปลี่ยนชื่อจะล้มเหลวหากแหล่งที่มาและเป้าหมาย fileแตกต่างกัน file ระบบ.
ฟังก์ชัน fgetpos และ ftell ตั้งค่า errno เป็น EFILPOS เมื่อเกิดข้อผิดพลาด
เอ่อ ตั้งโดย File ฟังก์ชันอินพุต/โอ
ตัวแปรส่วนกลาง errno ได้รับการตั้งค่าให้ระบุเงื่อนไขข้อผิดพลาดเฉพาะโดย ANSI C file ฟังก์ชัน I/O และฟังก์ชัน I/O ระดับต่ำ ค่าที่เป็นไปได้ของ errno ได้รับการประกาศใน cviincludeansierrno.h มีชุดค่าพื้นฐานที่ใช้ร่วมกันในทุกแพลตฟอร์ม มีค่าเพิ่มเติมที่เฉพาะเจาะจงสำหรับแพลตฟอร์มเฉพาะ
ใน Windows 3.1 errno ให้ข้อมูลที่จำกัดมาก หากระบบปฏิบัติการส่งคืนข้อผิดพลาด errno จะถูกตั้งค่าเป็น EIO
ภายใต้ Windows 95 และ NT คุณสามารถเรียกใช้ฟังก์ชัน Windows SDK GetLastError เพื่อรับข้อมูลเฉพาะของระบบเมื่อ errno ถูกตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้:
EACCES EBADF EIO ENOENT ENOSPC
ฟังก์ชันทางคณิตศาสตร์
แมโคร HUGE_VAL ที่กำหนดในส่วนหัว math.h เช่นเดียวกับมาโคร FLT_EPSILON, FLT_MAX, FLT_MIN, DBL_EPSILON, DBL_MAX, DBL_MIN, LDBL_EPSILON, LDBL_MAX และ DBL_MIN ที่กำหนดในส่วนหัว float.h ทั้งหมดอ้างอิงถึงตัวแปร ด้วยเหตุนี้ มาโครเหล่านี้จึงไม่สามารถใช้ได้ในตำแหน่งที่จำเป็นต้องใช้นิพจน์คงที่ เช่น ในการกำหนดค่าเริ่มต้นแบบสากล
ฟังก์ชันเวลาและวันที่
Function time ส่งกลับจำนวนวินาทีตั้งแต่วันที่ 1 มกราคม 1990
ฟังก์ชัน mktime และ localtime ต้องการข้อมูลโซนเวลาเพื่อให้ได้ผลลัพธ์ที่ถูกต้อง LabWindows/CVI รับข้อมูลโซนเวลาจากตัวแปรสภาพแวดล้อมชื่อ TZ หากมีอยู่ ค่าของตัวแปรนี้ควรมีรูปแบบ AAA[S]HH[:MM]BBB โดยที่รายการเพิ่มเติมอยู่ในวงเล็บเหลี่ยม
ไลบรารีมาตรฐานของ LabWindows/CVI
1-6
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 1
ห้องสมุด ANSI C
ช่อง AAA และ BBB ระบุชื่อของโซนเวลามาตรฐานและโซนเวลาออมแสง ตามลำดับ (เช่น EST สำหรับเวลามาตรฐานตะวันออกและ EDT สำหรับเวลาออมแสงตะวันออก) ช่องสัญญาณเสริม S ระบุว่าเขตเวลาท้องถิ่นอยู่ทางทิศตะวันตก (+) หรือทางทิศตะวันออก (-) ของ UTC (เวลามาตรฐานกรีนิช) ฟิลด์ชั่วโมง (HH) และฟิลด์นาทีเพิ่มเติม (:MM) ระบุจำนวนชั่วโมงและนาทีจาก UTC ในฐานะแฟนเก่าampเลอ สตริง EST05EDT ระบุข้อมูลโซนเวลาสำหรับภาคตะวันออกของสหรัฐอเมริกา
ฟังก์ชัน gmtime, localtime และ mktime ทำการแก้ไขเวลาออมแสง (DST) LabWindows/CVI ใช้ชุดกฎเพื่อกำหนดเวลาเริ่มต้นและสิ้นสุดเวลาออมแสง สตริงในข้อความ file cvimsgs.txt ในไดเรกทอรี Bin ของ LabWindows/CVI ระบุกฎเหล่านี้ ต่อไปนี้เป็นค่าเริ่มต้นของสตริงนี้
“:(1986)040102+0:110102-0:(1967)040102-0:110102-0”
ข้อความนี้ระบุว่าสำหรับปีตั้งแต่ปี 1986 ถึงปัจจุบัน DST เริ่มต้นเวลา 2:00 น. ในวันอาทิตย์แรกของเดือนเมษายน และสิ้นสุดเวลา 2:00 น. ในวันอาทิตย์สุดท้ายของเดือนตุลาคม สำหรับปีตั้งแต่ปี 1967 ถึง 1985 DST เริ่มต้นเวลา 2:00 น. ในวันอาทิตย์สุดท้ายของเดือนมีนาคม และสิ้นสุดเวลา 2:00 น. ในวันอาทิตย์สุดท้ายของเดือนตุลาคม คุณสามารถเปลี่ยนวิธีที่ LabWindows/CVI กำหนด DST ได้โดยการเปลี่ยนสตริงนี้ใน cvimsgs.txt file- โปรแกรม countmsg.exe จะต้องดำเนินการหลังจากเปลี่ยนข้อความ file- คุณควรดำเนินการบรรทัดต่อไปนี้
countmsg cvimsgs.txt
ฟังก์ชั่นการควบคุม
มาโครยืนยันที่กำหนดโดย LabWindows/CVI จะไม่พิมพ์การวินิจฉัยไปยังสตรีมข้อผิดพลาดมาตรฐาน เมื่อระดับการแก้ไขจุดบกพร่องเป็นอย่างอื่นที่ไม่ใช่ไม่มี เมื่อค่าของอาร์กิวเมนต์ประเมินเป็นศูนย์แทน LabWindows/CVI จะแสดงกล่องโต้ตอบพร้อมข้อความที่มี file ชื่อ หมายเลขบรรทัด และนิพจน์ที่ทำให้การยืนยันล้มเหลว
ภายใต้ UNIX ระบบจะส่งคำสั่งที่ระบุไปยังเชลล์เป้าหมาย (sh) เป็นอินพุต ราวกับว่ากระบวนการปัจจุบันกำลังดำเนินการเรียกของระบบรอ (2V) และกำลังรอจนกระทั่งเชลล์ยุติการทำงาน การโทรกลับจะไม่ถูกเรียกในขณะที่คำสั่งกำลังดำเนินการ
ภายใต้ Windows ไฟล์ปฏิบัติการอาจเป็นไฟล์ปฏิบัติการ MS DOS หรือ Microsoft Windows รวมถึง *.exe, *.com, *.bat และ *.pif fileส. ฟังก์ชันจะไม่ส่งคืนจนกว่าคำสั่งจะยุติ และเหตุการณ์แป้นพิมพ์และเมาส์ของผู้ใช้จะถูกละเว้นจนกว่าคำสั่งจะออก การเรียกกลับสำหรับเหตุการณ์อะซิงโครนัส เช่น เหตุการณ์ที่ไม่ได้ใช้งาน ข้อความ Windows และการขัดจังหวะ VXI การเรียก PostDeferredCall และเหตุการณ์ DAQ จะถูกเรียกในขณะที่คำสั่งกำลังดำเนินการ หากคุณต้องการดำเนินการคำสั่งที่สร้างไว้ใน command.com เช่น copy, dir และอื่นๆ คุณสามารถเรียกระบบด้วยคำสั่ง command.com /C DosCommand args โดยที่ DosCommand คือคำสั่งเชลล์ที่คุณต้องการให้ดำเนินการ โปรดดูเอกสารประกอบ DOS ของคุณสำหรับความช่วยเหลือเพิ่มเติมเกี่ยวกับ command.com โปรแกรมปฏิบัติการ DOS (.exe, .com และ .bat files) ใช้การตั้งค่าใน _default.pif (ในไดเร็กทอรี Windows ของคุณ) เมื่อกำลังทำงานอยู่ คุณสามารถเปลี่ยนลำดับความสำคัญ ตัวเลือกการแสดงผล และอื่นๆ ได้โดยแก้ไข _default.pif
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
1-7
ไลบรารีมาตรฐานของ LabWindows/CVI
ห้องสมุด ANSI C
บทที่ 1
หรือโดยการสร้าง .pif อื่น file- โปรดดูเอกสารประกอบ Microsoft Windows ของคุณสำหรับความช่วยเหลือในการสร้างและแก้ไข .pif files.
หากฟังก์ชันถูกส่งผ่านตัวชี้ว่าง LabWindows/CVI จะส่งกลับค่าที่ไม่ใช่ศูนย์หากมีตัวประมวลผลคำสั่งพร้อมใช้งาน ภายใต้ UNIX ถ้าอาร์กิวเมนต์ไม่ใช่ตัวชี้ null โปรแกรมจะส่งกลับค่าศูนย์ ภายใต้ Microsoft Windows ถ้าอาร์กิวเมนต์ไม่ใช่ตัวชี้ null โปรแกรมจะส่งกลับค่าศูนย์ถ้าโปรแกรมเริ่มทำงานได้สำเร็จ มิฉะนั้นจะส่งกลับรหัสข้อผิดพลาดอย่างใดอย่างหนึ่งต่อไปนี้
-1 ระบบมีหน่วยความจำไม่เพียงพอ ปฏิบัติการได้ file เสียหายหรือการย้ายสถานที่ไม่ถูกต้อง -3 File ไม่พบ -4 เส้นทางไม่พบ -6 มีการพยายามเชื่อมโยงไปยังงานแบบไดนามิก หรือมีการแบ่งปันหรือเครือข่าย
ข้อผิดพลาดในการป้องกัน -7 ห้องสมุดต้องการส่วนข้อมูลแยกกันสำหรับแต่ละงาน -9 มีหน่วยความจำไม่เพียงพอที่จะเริ่มแอปพลิเคชัน -11 เวอร์ชัน Windows ไม่ถูกต้อง -12 ปฏิบัติการได้ file ไม่ถูกต้อง อาจไม่ใช่แอปพลิเคชัน Windows หรือมีข้อผิดพลาด
ในภาพ .EXE -13 แอปพลิเคชันได้รับการออกแบบมาสำหรับระบบปฏิบัติการอื่น -14 แอปพลิเคชันได้รับการออกแบบสำหรับ MS-DOS 4.0 -15 ประเภทของปฏิบัติการ file ไม่เป็นที่รู้จัก -16 มีความพยายามในการโหลดแอปพลิเคชันโหมดจริง (พัฒนาสำหรับ Windows เวอร์ชันก่อนหน้า) -17 มีความพยายามในการโหลดอินสแตนซ์ที่สองของไฟล์ปฏิบัติการ file มีหลายข้อมูล
ส่วนที่ไม่ได้ทำเครื่องหมายว่าอ่านอย่างเดียว -20 มีความพยายามในการโหลดไฟล์ปฏิบัติการที่บีบอัด file. การ file จะต้องแตกไฟล์
ก่อนจะโหลดได้ -21 ไลบรารีลิงก์แบบไดนามิก (DLL) file ไม่ถูกต้อง DLL ตัวใดตัวหนึ่งที่จำเป็นในการเรียกใช้สิ่งนี้
แอปพลิเคชันเสียหาย -22 แอปพลิเคชันต้องการส่วนขยาย Microsoft Windows 32 บิต -23 ไม่พบ toolhelp.dll หรือ toolhelp.dll เสียหาย -24 ไม่สามารถจัดสรร GetProcUserDefinedHandle ได้
ฟังก์ชันทางออกไม่ได้ล้างและปิดสตรีมที่เปิดอยู่จริงๆ LabWindows/CVI ออก fileเปิดเพื่อให้สามารถใช้งานจากภายในหน้าต่างโต้ตอบหลังจากการดำเนินโครงการสิ้นสุดลง ตัวเลือกเมนูปิดไลบรารีภายใต้เมนูเรียกใช้ทำการล้างข้อมูลไลบรารีนี้ การล้างข้อมูลไลบรารีนี้ยังดำเนินการเมื่อคุณเริ่มดำเนินการโครงการใหม่โดยเลือกเรียกใช้โครงการจากเมนูเรียกใช้ อาร์กิวเมนต์ที่ส่งผ่านไปยัง function exit ไม่ได้ใช้โดยสภาพแวดล้อม LabWindows/CVI ภายใต้ UNIX ไฟล์ปฏิบัติการแบบสแตนด์อโลนที่สร้างโดย LabWindows/CVI จะส่งคืนค่าของอาร์กิวเมนต์ที่ส่งไปยังฟังก์ชัน exit
ไลบรารีมาตรฐานของ LabWindows/CVI
1-8
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 1
ห้องสมุด ANSI C
LabWindows/CVI เวอร์ชัน UNIX ทำงานร่วมกับสัญญาณทั้งหมดที่รองรับโดย UNIX นอกเหนือจากสัญญาณ ANSI C
การอ้างอิงฟังก์ชันไลบรารี ANSI C
สำหรับคำอธิบายฟังก์ชัน ANSI C โปรดดูงานอ้างอิง เช่น C: คู่มืออ้างอิง ซึ่งแสดงอยู่ในส่วนเอกสารประกอบที่เกี่ยวข้องของเกี่ยวกับคู่มือนี้ หรือคุณสามารถใช้วิธีใช้แผงฟังก์ชัน LabWindows/CVI คำอธิบายฟังก์ชันต่อไปนี้มีให้เนื่องจากเป็นส่วนขยายของชุดฟังก์ชัน ANSI C
เอฟดีโอเพน
FILE *fp = fdopen (int fileจัดการ, ถ่าน * โหมด);
หมายเหตุ: ฟังก์ชันนี้มีเฉพาะใน LabWindows/CVI เวอร์ชัน Windows เท่านั้น
วัตถุประสงค์
คุณสามารถใช้ฟังก์ชันนี้เพื่อรับตัวชี้ไปยังกระแสข้อมูล I/O ที่บัฟเฟอร์จาก file หมายเลขอ้างอิงที่ส่งคืนโดยหนึ่งในฟังก์ชันต่อไปนี้
เปิด โซเปิด
(I/O ระดับต่ำ) (I/O ระดับต่ำ)
คุณสามารถใช้ค่าที่ส่งคืนเหมือนกับที่คุณได้รับจาก fopen
(แม้ว่าฟังก์ชันนี้จะไม่ได้อยู่ในมาตรฐาน ANSI แต่ก็รวมอยู่ในไลบรารีนี้เนื่องจากจะส่งกลับตัวชี้ไปยังสตรีม I/O ที่บัฟเฟอร์)
พารามิเตอร์
ป้อนข้อมูล fileโหมดการจัดการ
จำนวนเต็ม File หมายเลขอ้างอิงที่ส่งคืนโดย open หรือ soopen string ระบุโหมดการอ่าน/เขียน ไบนารี/ข้อความ และโหมดผนวก
ค่าส่งคืน fp
FILE * ชี้ไปที่บัฟเฟอร์ I/O file ลำธาร.
รหัสส่งคืน NULL (0) ล้มเหลว ข้อมูลเฉพาะเพิ่มเติมอยู่ใน errno
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
1-9
ไลบรารีมาตรฐานของ LabWindows/CVI
ห้องสมุด ANSI C
บทที่ 1
การอภิปรายเกี่ยวกับพารามิเตอร์
โหมดจะเหมือนกับพารามิเตอร์โหมดที่จะ fopen
คุณควรใช้ค่าโหมดที่สอดคล้องกับโหมดที่คุณเปิดไว้ในตอนแรก file- หากคุณใช้ความสามารถในการเขียนที่ไม่ได้เปิดใช้งานเมื่อ file handle ถูกเปิดไว้แต่เดิม การเรียก fdopen สำเร็จ แต่ความพยายามในการเขียนล้มเหลว ตัวอย่างเช่น หากคุณเปิดไฟล์ file สำหรับการอ่านอย่างเดียว คุณสามารถส่ง "rw" ไปที่ fdopen ได้ แต่การเรียกให้ fwrite ล้มเหลว
ไลบรารีมาตรฐานของ LabWindows/CVI
1-10
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
บทนี้อธิบายฟังก์ชันต่างๆ ใน LabWindows/CVI Formatting และ I/O Library และมีเนื้อหาต่างๆ เช่นampเกี่ยวกับวิธีการใช้งาน ไลบรารีการจัดรูปแบบและ I/O มีฟังก์ชันที่ป้อนข้อมูลและส่งออกข้อมูลไป fileและจัดการรูปแบบของข้อมูลในโปรแกรม
ฟังก์ชันการจัดรูปแบบและไลบรารี I/O สิ้นสุดลงview ส่วนประกอบด้วยข้อมูลทั่วไปเกี่ยวกับฟังก์ชันและพาเนลการจัดรูปแบบและไลบรารี I/O เนื่องจากไลบรารีการจัดรูปแบบและ I/O แตกต่างจากไลบรารี LabWindows/CVI อื่นๆ หลายประการ จึงเป็นสิ่งสำคัญมากที่จะต้องอ่านรายละเอียดเพิ่มเติมview ก่อนที่จะอ่านส่วนอื่นๆ ของบทนี้
ส่วนการจัดรูปแบบและการอ้างอิงฟังก์ชันไลบรารี I/O มีรายการคำอธิบายฟังก์ชันตามตัวอักษร ส่วนนี้มีประโยชน์สำหรับการกำหนดไวยากรณ์ของ file ฟังก์ชัน I/O และการจัดการสตริง
ส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนจะอธิบายรายละเอียดฟังก์ชันพิเศษของคลาสนี้ แม้ว่าฟังก์ชันเหล่านี้จะระบุไว้ในการอ้างอิงฟังก์ชัน แต่ความสามารถรอบด้านและลักษณะที่ซับซ้อนของฟังก์ชันเหล่านี้จำเป็นต้องมีการอภิปรายที่สมบูรณ์ยิ่งขึ้น
ส่วนสุดท้าย การจัดรูปแบบและการเขียนโปรแกรมไลบรารี I/O เช่นamples มีอดีตมากมายampของโค้ดโปรแกรมที่เรียกใช้ฟังก์ชันการจัดรูปแบบและไลบรารี I/O อดีตส่วนใหญ่ampใช้ฟังก์ชันการจัดรูปแบบและการสแกน
การจัดรูปแบบและฟังก์ชันไลบรารี I/O สิ้นสุดลงview
ส่วนนี้ประกอบด้วยข้อมูลทั่วไปที่จำเป็นสำหรับการทำความเข้าใจฟังก์ชันและพาเนลการจัดรูปแบบและไลบรารี I/O
แผงฟังก์ชันการจัดรูปแบบและไลบรารี I/O
แผงฟังก์ชันการจัดรูปแบบและไลบรารี I/O จะถูกจัดกลุ่มไว้ในโครงสร้างแบบต้นไม้ตามประเภทของการดำเนินการที่ดำเนินการ แผนผังฟังก์ชันการจัดรูปแบบและไลบรารี I/O แสดงในตาราง 2-1
ส่วนหัวตัวหนาระดับที่หนึ่งและสองในแผนผังคือชื่อของคลาสฟังก์ชันและคลาสย่อย คลาสฟังก์ชันและคลาสย่อยคือกลุ่มของพาเนลฟังก์ชันที่เกี่ยวข้อง ส่วนหัวระดับที่สามในข้อความธรรมดาคือชื่อของแผงฟังก์ชันแต่ละแผง ชื่อของฟังก์ชันเป็นตัวเอียงที่ตัวหนาทางด้านขวาของแผงฟังก์ชัน อ้างถึง Sampแผงฟังก์ชันสำหรับส่วนการจัดรูปแบบและฟังก์ชันการสแกนภายหลังในบทนี้เพื่อดูข้อมูลเพิ่มเติม
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-1
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
ตารางที่ 2-1. แผนผังฟังก์ชันการจัดรูปแบบและไลบรารี I/O
การจัดรูปแบบและ I/O File I/O เปิด File ปิด File อ่านจาก File เขียนถึง File อาร์เรย์ถึง File File ถึงอาร์เรย์รับ File ชุดข้อมูล File การจัดการสตริงตัวชี้ รับความยาวสตริง สตริงเป็นตัวพิมพ์เล็ก สตริงเป็นตัวพิมพ์ใหญ่ เติมไบต์ คัดลอกไบต์ คัดลอกสตริง เปรียบเทียบไบต์ เปรียบเทียบสตริง ค้นหารูปแบบ อ่านบรรทัด เขียนบรรทัด การจัดรูปแบบข้อมูล การจัดรูปแบบฟังก์ชัน Fmt ไปยังหน่วยความจำ (Sampเลอ แผง) Fmt ไปที่ File (Sample Panel) Fmt ถึง Stdout (Sample Panel) ฟังก์ชั่นการสแกน สแกนจาก Mem (Sample Panel) สแกนจาก File (Sample Panel) สแกนจาก Stdin (Sample Panel) ฟังก์ชันสถานะ รับ # ไบต์ที่จัดรูปแบบ รับรูปแบบ ดัชนีข้อผิดพลาด รับข้อผิดพลาด I/O รับสตริงข้อผิดพลาด I/O
เปิดFile ปิดFile อ่านFile เขียนFile อาร์เรย์ทูFile Fileรับ ToArrayFileชุดข้อมูลFileพีทีอาร์
StringLength StringLowerCase StringUpperCase FillBytes CopyBytes CopyString CompareBytes CompareStrings FindPattern ReadLine WriteLine
เอฟเอ็มที เอฟเอ็มทีFile FmtOut
สแกนสแกนFile สแกนอิน
NumFmtdBytes รับ FmtErrNdx รับ FmtIOError รับ FmtIOErrorString
คลาสและคลาสย่อยในแผนผังอธิบายไว้ด้านล่าง: · The File แผงฟังก์ชัน I/O เปิด ปิด อ่าน เขียน และรับข้อมูลเกี่ยวกับ fileส. · แผงฟังก์ชันการจัดการสตริงจะจัดการสตริงและบัฟเฟอร์อักขระ
ไลบรารีมาตรฐานของ LabWindows/CVI
2-2
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
· แผงฟังก์ชันการจัดรูปแบบข้อมูลดำเนินการจัดรูปแบบที่ซับซ้อนด้วยการเรียกใช้ฟังก์ชันเพียงครั้งเดียว
ฟังก์ชันการจัดรูปแบบ ซึ่งเป็นคลาสย่อยของการจัดรูปแบบข้อมูล ประกอบด้วยแผงฟังก์ชันที่รวมและจัดรูปแบบรายการต้นฉบับตั้งแต่ 1 รายการขึ้นไปให้เป็นรายการเป้าหมายเดียว
ฟังก์ชันการสแกน ซึ่งเป็นคลาสย่อยของการจัดรูปแบบข้อมูล ประกอบด้วยแผงฟังก์ชันที่แปลงรายการต้นฉบับเดียวให้เป็นรายการเป้าหมายหลายรายการ
ฟังก์ชันสถานะ ซึ่งเป็นคลาสย่อยของการจัดรูปแบบข้อมูล มีแผงฟังก์ชันที่ส่งคืนข้อมูลเกี่ยวกับความสำเร็จหรือความล้มเหลวของการเรียกการจัดรูปแบบหรือการสแกน
วิธีใช้ออนไลน์สำหรับแต่ละแผงควบคุมประกอบด้วยข้อมูลเฉพาะเกี่ยวกับการใช้งานแต่ละแผงฟังก์ชัน
ฟังก์ชั่นการจัดการสตริง
ฟังก์ชันในคลาส String Manipulation จะดำเนินการทั่วไป เช่น การคัดลอกสตริงหนึ่งไปยังอีกสตริงหนึ่ง การเปรียบเทียบสองสตริง หรือการค้นหาสตริงที่เกิดขึ้นในบัฟเฟอร์อักขระ ฟังก์ชันเหล่านี้มีวัตถุประสงค์คล้ายกับฟังก์ชันสตริง C มาตรฐาน
ลักษณะพิเศษของฟังก์ชันการจัดรูปแบบและการสแกน
ฟังก์ชันการจัดรูปแบบและการสแกนมีลักษณะแตกต่างจากฟังก์ชันอื่นๆ ในไลบรารี LabWindows/CVI โดยมีข้อยกเว้นบางประการ แต่ละฟังก์ชันไลบรารี LabWindows/CVI มีจำนวนพารามิเตอร์คงที่ และแต่ละพารามิเตอร์มีประเภทข้อมูลที่แน่นอน อย่างไรก็ตาม ฟังก์ชันการจัดรูปแบบและการสแกนแต่ละฟังก์ชันจะใช้จำนวนพารามิเตอร์ที่แปรผันได้ และพารามิเตอร์อาจเป็นประเภทข้อมูลที่หลากหลาย ความแตกต่างนี้จำเป็นเพื่อให้ฟังก์ชันการจัดรูปแบบและการสแกนมีความหลากหลาย
ตัวอย่างเช่น การเรียกใช้ฟังก์ชันสแกนครั้งเดียวจะดำเนินการที่แตกต่างกัน ดังตัวอย่างต่อไปนี้
· ค้นหาค่าตัวเลขสองค่าในสตริง:
“ส่วนหัว: 45, -1.03e-2”
และวางค่าแรกในตัวแปรจำนวนเต็ม และค่าที่สองในตัวแปรจริง
· นำองค์ประกอบจากอาร์เรย์จำนวนเต็ม สลับไบต์สูงและต่ำในแต่ละองค์ประกอบ และวางค่าผลลัพธ์ในอาร์เรย์จริง
ในการดำเนินการเหล่านี้ ฟังก์ชันการจัดรูปแบบและการสแกนแต่ละรายการจะใช้สตริงรูปแบบเป็นหนึ่งในพารามิเตอร์ สตริงรูปแบบคือมินิโปรแกรมที่สั่งฟังก์ชันการจัดรูปแบบและการสแกนเกี่ยวกับวิธีการแปลงอาร์กิวเมนต์อินพุตเป็นอาร์กิวเมนต์เอาต์พุต เพื่อความกระชับ สตริงรูปแบบจะถูกสร้างขึ้นโดยใช้โค้ดอักขระตัวเดียว รหัสเหล่านี้คือ
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-3
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
อธิบายโดยละเอียดในส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนภายหลังในบทนี้
คุณอาจพบว่าฟังก์ชันการจัดรูปแบบและการสแกนเรียนรู้ได้ยากกว่าฟังก์ชัน LabWindows/CVI อื่นๆ เพื่อช่วยคุณในกระบวนการเรียนรู้นี้ โปรดอ่านการอภิปรายในการจัดรูปแบบและการเขียนโปรแกรมไลบรารี I/O เช่นampในส่วนท้ายของบทนี้
การจัดรูปแบบและการอ้างอิงฟังก์ชันไลบรารี I/O
ส่วนนี้ให้คำอธิบายโดยย่อของแต่ละฟังก์ชันที่มีอยู่ใน LabWindows/CVI Formatting และ I/O Library ฟังก์ชันการจัดรูปแบบ LabWindows/CVI และไลบรารี I/O จัดเรียงตามตัวอักษร
อาร์เรย์ทูFile
สถานะ int = ArrayToFile (อักขระ *fileชื่อ, โมฆะ * array, int dataType, int numberOfElements, int numberOfGroups, int arrayDataOrder, int fileเค้าโครง int colSepStyle, int fieldWidth, int fileประเภท, int fileการกระทำ);
วัตถุประสงค์
บันทึกอาร์เรย์ไปที่ file ใช้ตัวเลือกการจัดรูปแบบต่างๆ ฟังก์ชันนี้จัดการการสร้าง การเปิด การเขียน และการปิดไฟล์ file. การ file สามารถอ่านกลับเข้าไปในอาเรย์ได้ในภายหลังโดยใช้ Fileฟังก์ชัน ToArray
พารามิเตอร์
ป้อนข้อมูล
fileชื่ออาร์เรย์ข้อมูลประเภท numberOfElements numberOfGroups arrayDataOrder fileเค้าโครง colSepStyle fieldWidth fileพิมพ์ fileการกระทำ
สตริงเป็นโมฆะ * จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม
File ชื่อพาธ อาร์เรย์ตัวเลข ชนิดข้อมูลองค์ประกอบอาร์เรย์ จำนวนองค์ประกอบในอาร์เรย์ จำนวนกลุ่มในอาร์เรย์ วิธีการเรียงลำดับกลุ่ม file- ทิศทางในการเขียนกลุ่ม file- วิธีแยกข้อมูลในบรรทัดเดียว ความกว้างคงที่ระหว่างคอลัมน์ โหมด ASCII/ไบนารี File ตำแหน่งการวางตำแหน่งตัวชี้
ไลบรารีมาตรฐานของ LabWindows/CVI
2-4
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
ค่าส่งคืน
สถานะ
จำนวนเต็ม
บ่งบอกถึงความสำเร็จ/ความล้มเหลว
รหัสส่งคืน
0
ความสำเร็จ.
-1
เกิดข้อผิดพลาดในการพยายามเปิด file.
-2
เกิดข้อผิดพลาดในการพยายามปิด file.
-3
เกิดข้อผิดพลาด I/O
-4
พารามิเตอร์ dataType ไม่ถูกต้อง
-5
พารามิเตอร์ numberOfElements ไม่ถูกต้อง
-6
พารามิเตอร์ numberOfGroups ไม่ถูกต้อง
-7
พารามิเตอร์ arrayDataOrder ไม่ถูกต้อง
-8
ไม่ถูกต้อง fileพารามิเตอร์เค้าโครง
-9
ไม่ถูกต้อง fileพิมพ์พารามิเตอร์
-10
พารามิเตอร์ separationStyle ไม่ถูกต้อง
-11
พารามิเตอร์ fieldWidth ไม่ถูกต้อง
-12
ไม่ถูกต้อง fileพารามิเตอร์การดำเนินการ
การอภิปรายเกี่ยวกับพารามิเตอร์
Fileชื่ออาจเป็นชื่อพาธสัมบูรณ์หรือญาติก็ได้ file ชื่อ. ถ้าใช้ญาติ file ชื่อ file ถูกสร้างขึ้นโดยสัมพันธ์กับไดเร็กทอรีการทำงานปัจจุบัน
DataType ต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้
VAL_CHAR VAL_SHORT_INTEGER VAL_INTEGER VAL_FLOAT VAL_DOUBLE VAL_UNSIGNED_SHORT_INTEGER VAL_UNSIGNED_INTEGER VAL_UNSIGNED_CHAR
หากคุณบันทึกข้อมูลอาร์เรย์ในรูปแบบ ASCII คุณสามารถแบ่งข้อมูลอาร์เรย์ออกเป็นกลุ่มได้ กลุ่มสามารถเขียนเป็นคอลัมน์หรือแถวก็ได้ NumberOfGroups ระบุจำนวนกลุ่มที่จะแบ่งข้อมูลอาร์เรย์ หากคุณไม่ต้องการแบ่งข้อมูลออกเป็นกลุ่ม ให้ใช้ 1
หากคุณแบ่งข้อมูลอาร์เรย์ออกเป็นกลุ่ม arrayDataOrder จะระบุวิธีการเรียงลำดับข้อมูลในอาร์เรย์ ทั้งสองทางเลือกมีดังนี้
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-5
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
· VAL_GROUPS_TOGETHER–จุดทั้งหมดของแต่ละกลุ่มข้อมูลจะถือว่าถูกจัดเก็บติดต่อกันในอาร์เรย์ข้อมูล
· VAL_DATA_MULTIPLEXED–สันนิษฐานว่าจุดแรกจากแต่ละกลุ่มข้อมูลถูกจัดเก็บไว้ด้วยกัน ตามด้วยจุดที่สองจากแต่ละกลุ่มและอื่นๆ
หากคุณบันทึกข้อมูลอาร์เรย์ในรูปแบบ ASCII fileเค้าโครงระบุว่าข้อมูลปรากฏในรูปแบบใด file- ทั้งสองทางเลือกมีดังนี้
· VAL_GROUPS_AS_COLUMNS
· VAL_GROUPS_AS_ROWS
หากคุณมีเพียงกลุ่มเดียว ให้ใช้ VAL_GROUPS_AS_COLUMNS เพื่อเขียนแต่ละองค์ประกอบอาร์เรย์ในบรรทัดแยกกัน
หากคุณระบุให้เขียนค่าหลายค่าในแต่ละบรรทัด colSepStyle จะระบุวิธีการแยกค่า ทางเลือกมีดังนี้
· VAL_CONST_WIDTH–ความกว้างของฟิลด์คงที่สำหรับแต่ละคอลัมน์
· VAL_SEP_BY_COMMA–ค่าที่ตามด้วยเครื่องหมายจุลภาค ยกเว้นค่าสุดท้ายในบรรทัด
· VAL_SEP_BY_TAB–ค่าที่คั่นด้วยแท็บ
หากคุณระบุ colSepStyle เป็น VAL_CONST_WIDTH แล้ว fieldWidth จะระบุความกว้างของคอลัมน์
FileType ระบุว่าจะสร้าง file ในรูปแบบ ASCII หรือไบนารี
ทางเลือกมีดังนี้:
· VAL_ASCII
· VAL_BINARY
Fileการดำเนินการระบุตำแหน่งใน file เพื่อเริ่มเขียนข้อมูลหากระบุชื่อ file มีอยู่แล้ว. ทางเลือกมีดังนี้
· VAL_TRUNCATE–วางตำแหน่ง file ชี้ไปที่จุดเริ่มต้นของ file และลบเนื้อหาก่อนหน้าออก
· VAL_APPEND–การดำเนินการเขียนทั้งหมดจะผนวกข้อมูลเข้าไป file.
· VAL_OPEN_AS_IS–วางตำแหน่ง file ตัวชี้ที่จุดเริ่มต้นของ file แต่ไม่กระทบกระเทือนก่อน file เนื้อหา
ไลบรารีมาตรฐานของ LabWindows/CVI
2-6
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
ปิดFile
สถานะ int = ปิดFile (ภายใน fileรับมือ); วัตถุประสงค์
ปิดไฟล์ file เกี่ยวข้องกับ fileด้ามจับ. fileที่จับคือ file หมายเลขอ้างอิงที่ส่งคืนจาก OpenFile ฟังก์ชั่นและระบุ file ใกล้. พารามิเตอร์
ป้อนข้อมูล
fileรับมือ
จำนวนเต็ม
File รับมือ.
ค่าส่งคืน
สถานะ
จำนวนเต็ม
ผลการปิด file การดำเนินการ.
รหัสส่งคืน
-1 0
แย่ file รับมือ. ความสำเร็จ.
เปรียบเทียบไบต์
ผลลัพธ์ int = CompareBytes (ถ่าน *buffer#1, int buffer#1Index, ถ่าน *buffer#2, int buffer#2Index, int numberofBytes, int caseSensitive);
วัตถุประสงค์
เปรียบเทียบจำนวนไบต์เริ่มต้นที่ตำแหน่ง buffer#1ดัชนีของบัฟเฟอร์#1 กับจำนวนไบต์เริ่มต้นที่ตำแหน่งบัฟเฟอร์#2ดัชนีของบัฟเฟอร์#2
พารามิเตอร์
ป้อนข้อมูล
บัฟเฟอร์#1 บัฟเฟอร์#1ดัชนี บัฟเฟอร์#2 บัฟเฟอร์#2 หมายเลขดัชนีของไบต์ caseSensitive
จำนวนเต็มสตริง จำนวนเต็มสตริง จำนวนเต็ม จำนวนเต็ม
สตริง 1 ตำแหน่งเริ่มต้นในบัฟเฟอร์ #1 สตริงที่ 2 ตำแหน่งเริ่มต้นในบัฟเฟอร์ #2 จำนวนไบต์ที่จะเปรียบเทียบ โหมดความไวของตัวพิมพ์
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-7
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
ค่าส่งคืน
ผลลัพธ์
จำนวนเต็ม
ผลลัพธ์ของการดำเนินการเปรียบเทียบ
รหัสส่งคืน
-1 0 1
ไบต์จากบัฟเฟอร์ #1 น้อยกว่าไบต์จากบัฟเฟอร์ #2 ไบต์จากบัฟเฟอร์ #1 เหมือนกับไบต์จากบัฟเฟอร์ #2 ไบต์จากบัฟเฟอร์ #1 มากกว่าไบต์จากบัฟเฟอร์ #2
การอภิปรายเกี่ยวกับพารามิเตอร์
ทั้ง buffer#1Index และ buffer#2Index เป็นแบบ Zero-based
ถ้า caseSensitive เป็นศูนย์ อักขระตัวอักษรจะถูกเปรียบเทียบโดยไม่คำนึงถึงตัวพิมพ์ หาก caseSensitive ไม่เป็นศูนย์ อักขระตัวอักษรจะถือว่าเท่ากันก็ต่อเมื่อมีตัวพิมพ์เหมือนกัน
ฟังก์ชันส่งคืนค่าจำนวนเต็มซึ่งระบุความสัมพันธ์ทางพจนานุกรมระหว่างไบต์ทั้งสองชุด
เปรียบเทียบสตริง
int result = CompareStrings (ถ่าน *string#1, int string#1Index, ถ่าน *string#2, int string#2Index, int caseSensitive);
วัตถุประสงค์
เปรียบเทียบสตริงที่สิ้นสุดด้วย NUL โดยเริ่มต้นที่ตำแหน่ง string#1ดัชนีของสตริง#1 กับสตริงที่สิ้นสุดด้วย NUL เริ่มต้นที่ตำแหน่ง string#2ดัชนีของสตริง#2 ทั้ง string#1Index และ string#2Index เป็นแบบศูนย์
พารามิเตอร์
ป้อนข้อมูล
string#1 string#1Index string#2 string#2Index caseSensitive
จำนวนเต็มสตริง จำนวนเต็มสตริง จำนวนเต็ม
สตริงที่ 1 ตำแหน่งเริ่มต้นในสตริง #1 สตริงที่ 2 ตำแหน่งเริ่มต้นในสตริง #2 โหมดความไวของตัวพิมพ์
ไลบรารีมาตรฐานของ LabWindows/CVI
2-8
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
ค่าส่งคืน
ผลลัพธ์
จำนวนเต็ม
ผลลัพธ์ของการดำเนินการเปรียบเทียบ
รหัสส่งคืน
-1 0 1
ไบต์จากสตริง#1 น้อยกว่าไบต์จากสตริง#2 ไบต์จาก string#1 เหมือนกับไบต์จาก string#2 ไบต์จากสตริง#1 มากกว่าไบต์จากสตริง#2
การอภิปรายเกี่ยวกับพารามิเตอร์
ถ้า caseSensitive เป็นศูนย์ อักขระตัวอักษรจะถูกเปรียบเทียบโดยไม่คำนึงถึงตัวพิมพ์ ถ้า caseSensitive ไม่ใช่ศูนย์ อักขระตัวอักษรจะเท่ากันก็ต่อเมื่อมีตัวพิมพ์เหมือนกัน
ฟังก์ชันส่งคืนค่าจำนวนเต็มซึ่งระบุความสัมพันธ์ทางพจนานุกรมระหว่างสองสตริง
คัดลอกไบต์
เป็นโมฆะ CopyBytes (ถ่าน targetBuffer [], int targetIndex, ถ่าน * sourceBuffer, int sourceIndex, int numberofBytes);
วัตถุประสงค์
คัดลอกจำนวนไบต์โดยเริ่มต้นที่ตำแหน่ง sourceIndex ของ sourceBuffer ไปยังตำแหน่ง targetIndex ของ targetBuffer
พารามิเตอร์
อินพุตเอาต์พุต
เป้าหมายดัชนี
แหล่งที่มาBuffer sourceIndex
numberofBytes targetBuffer
จำนวนเต็ม
จำนวนเต็มสตริง
สตริงจำนวนเต็ม
ตำแหน่งเริ่มต้นใน targetBuffer บัฟเฟอร์ต้นทาง ตำแหน่งเริ่มต้นใน sourceBuffer จำนวนไบต์ที่จะคัดลอก
บัฟเฟอร์ปลายทาง
มูลค่าการส่งคืน ไม่มี
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-9
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
การอภิปรายเกี่ยวกับพารามิเตอร์ ทั้ง sourceIndex และ targetIndex เป็นแบบศูนย์ คุณสามารถใช้ฟังก์ชันนี้ได้แม้ว่า sourceBuffer และ targetBuffer จะทับซ้อนกันก็ตาม
บทที่ 2
CopyString
เป็นโมฆะ CopyString (ถ่าน targetString[], int targetIndex, ถ่าน *sourceString, int sourceIndex, int สูงสุด #Bytes);
วัตถุประสงค์
คัดลอกสตริงเริ่มต้นที่ตำแหน่ง sourceIndex ของ sourceString ไปยังตำแหน่ง targetIndex ของ targetString จนกว่าจะคัดลอก ASCII NUL หรือจำนวนไบต์สูงสุด #Bytes ได้รับการคัดลอก ผนวก ASCII NUL ถ้าไม่มีการคัดลอก ASCII NUL
พารามิเตอร์
ป้อนข้อมูล
เป้าหมายดัชนี
จำนวนเต็ม
sourceString
สตริง
ดัชนีแหล่งที่มา
จำนวนเต็ม
จำนวนเต็ม #Bytes สูงสุด
เอาต์พุต targetString
สตริง
ตำแหน่งเริ่มต้นใน targetString บัฟเฟอร์ต้นทาง ตำแหน่งเริ่มต้นใน sourceString จำนวนไบต์ที่จะคัดลอก ไม่รวม ASCII NUL บัฟเฟอร์ปลายทาง
ค่าส่งคืน
ไม่มี
การอภิปรายเกี่ยวกับพารามิเตอร์
ทั้ง sourceIndex และ targetIndex เป็นแบบศูนย์ หากคุณต้องการใช้ maximum#Bytes เพื่อป้องกันไม่ให้เขียนเกินจุดสิ้นสุดของ targetString ตรวจสอบให้แน่ใจว่าคุณอนุญาตให้มีที่ว่างสำหรับ ASCII NUL สำหรับเช่นampไฟล์ ถ้า maximum#Bytes คือ 40 บัฟเฟอร์ปลายทางควรมีอย่างน้อย 41 ไบต์
หากคุณไม่ต้องการระบุจำนวนไบต์สูงสุดที่จะคัดลอก ให้ใช้ -1 สำหรับจำนวนสูงสุด #Bytes
คุณสามารถใช้ฟังก์ชันนี้ได้แม้ว่า sourceString และ targetString จะทับซ้อนกันก็ตาม
หมายเหตุ: ค่า maximum#Bytes ต้องไม่เกินหนึ่งน้อยกว่าจำนวนไบต์ในตัวแปรเป้าหมาย
ไลบรารีมาตรฐานของ LabWindows/CVI
2-10
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
Fileทูอาร์เรย์
สถานะ int = FileToArray (อักขระ *fileชื่อ, โมฆะ * array, int dataType, int numberOfElements, int numberOfGroups, int arrayDataOrder, int fileเค้าโครง int fileพิมพ์);
วัตถุประสงค์
อ่านข้อมูลจากก file ลงในอาร์เรย์ สามารถใช้ได้กับ fileสร้างขึ้นโดยใช้ ArrayToFile การทำงาน. ฟังก์ชันนี้จัดการการสร้าง การเปิด การอ่าน และการปิดไฟล์ file.
พารามิเตอร์
อินพุตเอาต์พุต
fileชื่อประเภทข้อมูล numberOfElements numberOfGroups arrayDataOrder fileเค้าโครง fileประเภทอาร์เรย์
จำนวนเต็มสตริง จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม จำนวนเต็ม เป็นโมฆะ*
File ชื่อพาธ ชนิดข้อมูลองค์ประกอบอาร์เรย์ จำนวนองค์ประกอบในอาร์เรย์ จำนวนกลุ่มในอาร์เรย์ วิธีการเรียงลำดับกลุ่ม file- ทิศทางในการเขียนกลุ่ม file- โหมด ASCII/ไบนารี อาร์เรย์ตัวเลข
ค่าส่งคืน
สถานะ
จำนวนเต็ม
บ่งบอกถึงความสำเร็จหรือความล้มเหลว
รหัสส่งคืน
0 -1 -2 -3 -4 -5 -6 -7 -8 -9
ความสำเร็จ. เกิดข้อผิดพลาดในการพยายามเปิด file- เกิดข้อผิดพลาดในการพยายามปิด file- เกิดข้อผิดพลาด I/O พารามิเตอร์ arrayDataType ไม่ถูกต้อง พารามิเตอร์ numberOfElements ไม่ถูกต้อง พารามิเตอร์ numberOfGroups ไม่ถูกต้อง พารามิเตอร์ arrayDataOrder ไม่ถูกต้อง ไม่ถูกต้อง fileพารามิเตอร์เค้าโครง ไม่ถูกต้อง fileพิมพ์พารามิเตอร์
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-11
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
การอภิปรายเกี่ยวกับพารามิเตอร์
Fileชื่ออาจเป็นชื่อพาธสัมบูรณ์หรือญาติก็ได้ file ชื่อ. ถ้าใช้ญาติ file ชื่อ file ตั้งอยู่สัมพันธ์กับไดเร็กทอรีการทำงานปัจจุบัน
DataType ต้องเป็นอย่างใดอย่างหนึ่งต่อไปนี้
· VAL_CHAR · VAL_SHORT_INTEGER · VAL_INTEGER · VAL_FLOAT · VAL_DOUBLE · VAL_UNSIGNED_SHORT_INTEGER · VAL_UNSIGNED_INTEGER · VAL_UNSIGNED_CHAR
NumberOfGroups ระบุจำนวนกลุ่มที่มีข้อมูลอยู่ใน file ถูกแบ่งออก กลุ่มสามารถอยู่ในรูปแบบของคอลัมน์หรือแถวก็ได้ หากไม่มีกลุ่ม ให้ใช้ 1 พารามิเตอร์นี้ใช้เฉพาะในกรณีที่ file ประเภทคือ ASCII
หากข้อมูลถูกแบ่งออกเป็นกลุ่ม arrayDataOrder จะระบุลำดับที่จะจัดเก็บข้อมูลในอาร์เรย์ ทั้งสองทางเลือกมีดังนี้
· VAL_GROUPS_TOGETHER– จุดทั้งหมดจากกลุ่มข้อมูลหนึ่งจะถูกเก็บไว้ด้วยกัน ตามด้วยจุดทั้งหมดจากกลุ่มข้อมูลถัดไป
· VAL_DATA_MULTIPLEXED–จุดแรกจากแต่ละกลุ่มข้อมูลจะถูกจัดเก็บติดต่อกัน ตามด้วยจุดที่สองจากแต่ละกลุ่ม เป็นต้น
หากมีการ file อยู่ในรูปแบบ ASCII fileเค้าโครงระบุว่าข้อมูลปรากฏในรูปแบบใด file- ทั้งสองทางเลือกมีดังนี้
· VAL_GROUPS_AS_COLUMNS · VAL_GROUPS_AS_ROWS
หากมีเพียงกลุ่มเดียว VAL_GROUPS_AS_COLUMNS จะระบุว่าแต่ละค่าใน file อยู่ในสายแยก
FileType ระบุว่า file อยู่ในรูปแบบ ASCII หรือไบนารี ทางเลือกมีดังนี้
· VAL_ASCII · VAL_BINARY
ไลบรารีมาตรฐานของ LabWindows/CVI
2-12
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
เติมไบต์
เป็นโมฆะ FillBytes (บัฟเฟอร์ถ่าน [], int beginningIndex, int numberofBytes, ค่า int); วัตถุประสงค์ ตั้งค่าจำนวนไบต์ของไบต์โดยเริ่มต้นที่ตำแหน่ง beginningIndex ของบัฟเฟอร์เป็นค่าในไบต์ล่างของค่า beginningIndex เป็นแบบศูนย์ พารามิเตอร์
ป้อนข้อมูล
บัฟเฟอร์ startIndex numberofBytes ค่า
จำนวนเต็มสตริง จำนวนเต็ม จำนวนเต็ม
บัฟเฟอร์ปลายทาง ตำแหน่งเริ่มต้นในบัฟเฟอร์ จำนวนไบต์ที่จะเติม ค่าที่จะวางเป็นไบต์
มูลค่าการส่งคืน ไม่มี
ค้นหารูปแบบ
int ndx = FindPattern (ถ่าน *บัฟเฟอร์, int beginningIndex, int numberofBytes, ถ่าน *รูปแบบ, int caseSensitive, int startFromRight);
วัตถุประสงค์
ค้นหาบัฟเฟอร์อักขระสำหรับรูปแบบไบต์ รูปแบบของไบต์ถูกระบุโดยรูปแบบสตริง
พารามิเตอร์
ป้อนข้อมูล
บัฟเฟอร์เริ่มต้นหมายเลขดัชนีของรูปแบบไบต์ caseSensitive startFromRight
จำนวนเต็มสตริง จำนวนเต็ม จำนวนเต็มสตริง จำนวนเต็ม
บัฟเฟอร์ที่จะค้นหา ตำแหน่งเริ่มต้นในบัฟเฟอร์ จำนวนไบต์ที่จะค้นหา รูปแบบที่จะค้นหา โหมดคำนึงถึงขนาดตัวพิมพ์ ทิศทางการค้นหา
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-13
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
ค่าส่งคืน
เอ็นดีเอ็กซ์
จำนวนเต็ม
ดัชนีในบัฟเฟอร์โดยที่รูปแบบ
ได้ถูกพบแล้ว
รหัสส่งคืน
-1
ไม่พบรูปแบบ
การอภิปรายเกี่ยวกับพารามิเตอร์
บัฟเฟอร์ที่ค้นหาคือชุดของ numberofBytes ไบต์เริ่มต้นที่ตำแหน่ง beginningIndex ของบัฟเฟอร์ ข้อยกเว้น: หาก numberofBytes เป็น -1 บัฟเฟอร์ที่ค้นหาคือชุดของไบต์เริ่มต้นที่ตำแหน่ง beginningIndex ของบัฟเฟอร์จนถึง ASCII NUL แรก beginningIndex เป็นแบบศูนย์
ถ้า caseSensitive เป็นศูนย์ อักขระตัวอักษรจะถูกเปรียบเทียบโดยไม่คำนึงถึงตัวพิมพ์ หาก caseSensitive ไม่เป็นศูนย์ อักขระตัวอักษรจะถือว่าเท่ากันก็ต่อเมื่อมีตัวพิมพ์เหมือนกัน ถ้า startFromRight เป็นศูนย์ จะพบรูปแบบด้านซ้ายสุดในบัฟเฟอร์ หาก startFromRight ไม่เป็นศูนย์ จะพบรูปแบบที่เกิดขึ้นทางด้านขวาสุดในบัฟเฟอร์
หากพบรูปแบบ รูปแบบจะส่งกลับดัชนีที่สัมพันธ์กับจุดเริ่มต้นของบัฟเฟอร์ซึ่งพบไบต์แรกของรูปแบบ หากไม่พบรูปแบบ รูปแบบจะส่งกลับ -1
ตัวอย่างต่อไปนี้ample ส่งคืน 4 ซึ่งเป็นดัชนีของเหตุการณ์ที่สองจากทั้งหมดสามครั้งของ ab ในสตริง 1ab2ab3ab4 การเกิดขึ้นครั้งแรกถูกข้ามไปเนื่องจาก beginningIndex คือ 3 จากสองเหตุการณ์ที่เหลือ พบด้านซ้ายสุดเนื่องจาก startFromRight เป็นศูนย์:
ndx = ค้นหารูปแบบ (“1ab2ab3ab4”, 3, -1, “AB”, 0, 0);
ในทางกลับกัน บรรทัดต่อไปนี้ส่งคืน 7 ซึ่งเป็นดัชนีของการเกิดขึ้นครั้งล่าสุดของ ab เนื่องจาก startFromRight ไม่ใช่ศูนย์:
ndx = ค้นหารูปแบบ (“1ab2ab3ab4”, 3, -1, “AB”, 0, 1);
เอฟเอ็มที
int n = Fmt (โมฆะ * เป้าหมาย, ถ่าน * formatString, source1, …, แหล่งที่มา);
วัตถุประสงค์
จัดรูปแบบอาร์กิวเมนต์ source1 … sourcen ตามคำอธิบายในอาร์กิวเมนต์ formatString
ไลบรารีมาตรฐานของ LabWindows/CVI
2-14
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
พารามิเตอร์
อินพุตเอาต์พุต
รูปแบบสตริง
สตริง.
source1,…,ประเภทแหล่งที่มาต้องตรงกับเนื้อหา formatString
เป้า
ประเภทต้องตรงกับเนื้อหา formatString
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนรูปแบบแหล่งที่มา
ตัวระบุพอใจ
รหัสส่งคืน -1
ข้อผิดพลาดของรูปแบบสตริง
การใช้ฟังก์ชันนี้
ฟังก์ชันนี้จะวางผลลัพธ์ของการจัดรูปแบบลงในอาร์กิวเมนต์เป้าหมาย ซึ่งคุณต้องส่งผ่านโดยการอ้างอิง ค่าที่ส่งคืนจะระบุจำนวนตัวระบุรูปแบบต้นฉบับที่ตรงตามความต้องการ หรือ -1 หากสตริงรูปแบบมีข้อผิดพลาด การอภิปรายทั้งหมดของฟังก์ชันนี้อยู่ในส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนในบทนี้
เอฟเอ็มทีFile
int n = FmtFile (ภายใน fileจัดการ, ถ่าน * formatString, source1, …, แหล่งที่มา);
วัตถุประสงค์
จัดรูปแบบอาร์กิวเมนต์ source1 … sourcen ตามคำอธิบายในอาร์กิวเมนต์ formatString ผลลัพธ์ของการจัดรูปแบบจะถูกเขียนลงใน file สอดคล้องกับ fileจัดการอาร์กิวเมนต์ซึ่งได้มาจากการเรียกไปยังฟังก์ชัน LabWindows/CVI เปิดFile.
พารามิเตอร์
ป้อนข้อมูล
fileจัดการ formatString source1,…,sourcen
ประเภทสตริงจำนวนเต็มต้องตรงกับเนื้อหา formatString
File รับมือ.
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-15
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนรูปแบบแหล่งที่มา
ตัวระบุพอใจ
รหัสส่งคืน
-1 -2
ข้อผิดพลาดการจัดรูปแบบสตริง ข้อผิดพลาด I/O
การใช้ฟังก์ชันนี้
ค่าที่ส่งคืนจะระบุจำนวนตัวระบุรูปแบบแหล่งที่มาที่เป็นไปตาม -1 หากสตริงรูปแบบมีข้อผิดพลาด หรือ -2 หากมีข้อผิดพลาด I/O การอภิปรายทั้งหมดของฟังก์ชันนี้อยู่ในส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนในบทนี้
FmtOut
int n = FmtOut (อักขระ * formatString, source1, …, แหล่งที่มา); วัตถุประสงค์ จัดรูปแบบอาร์กิวเมนต์ source1 … sourcen ตามคำอธิบายในอาร์กิวเมนต์ formatString ผลลัพธ์ของการจัดรูปแบบจะถูกเขียนลงในหน้าต่าง Standard I/O พารามิเตอร์
ป้อนข้อมูล
รูปแบบสตริง
สตริง.
source1,…,ประเภทแหล่งที่มาต้องตรงกับเนื้อหา formatString
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนรูปแบบแหล่งที่มา
ตัวระบุพอใจ
รหัสส่งคืน
-1 -2
ข้อผิดพลาดของรูปแบบสตริง ข้อผิดพลาด I/O
ไลบรารีมาตรฐานของ LabWindows/CVI
2-16
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
การใช้ฟังก์ชันนี้
ค่าที่ส่งคืนจะระบุจำนวนตัวระบุรูปแบบแหล่งที่มาที่เป็นไปตาม -1 หากสตริงรูปแบบมีข้อผิดพลาด หรือ -2 หากมีข้อผิดพลาด I/O การอภิปรายทั้งหมดของฟังก์ชันนี้อยู่ในส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนในบทนี้
รับFileข้อมูล
สถานะ int = รับFileข้อมูล (ตัวอักษร *fileชื่อ ยาว *fileขนาด); วัตถุประสงค์ ตรวจสอบว่าก file มีอยู่จริง ส่งกลับค่าจำนวนเต็มเป็นศูนย์ถ้าไม่ใช่ file มีอยู่และ 1 ถ้า file มีอยู่ fileขนาดเป็นตัวแปรแบบยาวที่ประกอบด้วย file ขนาดเป็นไบต์หรือศูนย์หากไม่มี file มีอยู่.
พารามิเตอร์
อินพุตเอาต์พุต
fileชื่อ fileขนาด
เชือกยาว
ชื่อพาธของ file ที่จะตรวจสอบ
File ขนาดหรือศูนย์
ค่าส่งคืน
สถานะ
จำนวนเต็ม
ระบุว่า file มีอยู่.
รหัสส่งคืน
1 0 -1
File มีอยู่. File ไม่ได้อยู่. จำนวนสูงสุด fileเปิดอยู่แล้ว
Example
/* ตรวจสอบการมีอยู่ของ file A:DATATEST1.DAT */ /* พิมพ์ขนาด */ /* ถ้า file มีอยู่แล้วหรือข้อความระบุ file ไม่ได้อยู่. */ intn; ขนาดยาว น = รับFileข้อมูล(“a:\data\test1.dat”,&ขนาด); ถ้า (n == 0)
FmtOut(“File ไม่ได้อยู่."); อื่น
FmtOut(“File ขนาด = %i[b4]”,ขนาด);
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-17
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
รับ FmtErrNdx
int n = GetFmtErrNdx (เป็นโมฆะ); วัตถุประสงค์ ส่งกลับดัชนีฐานศูนย์ลงในสตริงรูปแบบที่เกิดข้อผิดพลาดในการจัดรูปแบบหรือการสแกนครั้งล่าสุด พารามิเตอร์
ไม่มีค่าส่งคืน
n
จำนวนเต็ม
ตำแหน่งของข้อผิดพลาดในรูปแบบ
สตริง.
รหัสส่งคืน
-1
ไม่มีข้อผิดพลาด
การใช้ฟังก์ชันนี้
หากสตริงรูปแบบของการเรียกก่อนหน้ามีข้อผิดพลาด เช่น รูปแบบที่ไม่ถูกต้อง หรือตัวแก้ไขที่ไม่เหมาะสม ค่าที่ส่งคืนจะระบุตำแหน่งภายในสตริงรูปแบบ โดยเริ่มต้นด้วยตำแหน่งศูนย์ซึ่งพบข้อผิดพลาด ฟังก์ชันสามารถรายงานข้อผิดพลาดได้เพียงหนึ่งครั้งต่อการโทร แม้ว่าจะมีข้อผิดพลาดหลายรายการภายในสตริงก็ตาม
Example
ฉัน, n; สแกน (“1234”, “%s>%d”, &i); n = GetFmtErrNdx (); /* n จะมีค่า -1 ซึ่งบ่งชี้ว่า */ /* ไม่พบข้อผิดพลาดในสตริงรูปแบบ -
รับ FmtIOError
สถานะ int = GetFmtIOError (เป็นโมฆะ);
วัตถุประสงค์
ฟังก์ชันนี้จะส่งคืนข้อมูล I/O เฉพาะสำหรับการเรียกครั้งสุดท้ายไปยังฟังก์ชันการจัดรูปแบบและ I/O ที่ทำงาน file ฉัน/โอ หากฟังก์ชันสุดท้ายสำเร็จ GetLastFmtIOError จะส่งกลับค่าศูนย์ (no
ไลบรารีมาตรฐานของ LabWindows/CVI
2-18
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
ข้อผิดพลาด). ถ้าฟังก์ชันสุดท้ายที่ทำ I/O พบข้อผิดพลาด I/O GetLastFmtIOError จะส่งกลับค่าที่ไม่ใช่ศูนย์
ค่าส่งคืน
สถานะ
จำนวนเต็ม
บ่งชี้ความสำเร็จหรือความล้มเหลวของฟังก์ชันล่าสุดที่ทำ file ฉัน/ฉัน
รหัสส่งคืน
FmtIONไม่มีข้อผิดพลาด
0
FmtIONไม่มีFileทำผิดพลาด
1
FmtIOGenErr
2
FmtIOBadHandleErr 3
FmtIOInsuffMemErr 4
เอฟเอ็มทีไอโอFileมีอยู่ข้อผิดพลาด 5
FmtIOAccessErr
6
FmtIOInvalArgErr
7
FmtIOMaxFileเซอร์
8
FmtIODiskFullErr
9
FmtIONNameTooLongErr 10
ไม่มีข้อผิดพลาด File ไม่พบ. ข้อผิดพลาด I/O ทั่วไป ไม่ถูกต้อง file รับมือ. หน่วยความจำไม่เพียงพอ. File มีอยู่แล้ว. การอนุญาตถูกปฏิเสธ อาร์กิวเมนต์ไม่ถูกต้อง จำนวนสูงสุด fileเปิดแล้ว ดิสก์เต็ม File ชื่อยาวเกินไป
GetFmtIOErrorString
ถ่าน *message = GetFmtIOErrorString (int errorNum); วัตถุประสงค์ แปลงหมายเลขข้อผิดพลาดที่ GetLastFmtIOError ส่งกลับเป็นข้อความแสดงข้อผิดพลาดที่มีความหมาย พารามิเตอร์
ข้อผิดพลาดอินพุตรหัสข้อผิดพลาดจำนวนเต็มส่งคืนโดย GetLastFmtIOErr
ค่าส่งคืน
ข้อความ
สตริง
ชี้แจงข้อผิดพลาด.
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-19
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
NumFmtdBytes
int n = NumFmtdBytes (เป็นโมฆะ); วัตถุประสงค์ ส่งกลับจำนวนไบต์ที่จัดรูปแบบหรือสแกนโดยการจัดรูปแบบหรือการสแกนครั้งก่อน พารามิเตอร์
ไม่มีค่าส่งคืน
n
จำนวนเต็ม
จำนวนไบต์ที่จัดรูปแบบหรือ
สแกนแล้ว
การใช้ฟังก์ชันนี้
หากการเรียกก่อนหน้านี้เป็นการเรียกการจัดรูปแบบ NumFmtdBytes จะส่งกลับจำนวนไบต์ที่วางลงในเป้าหมาย หากการโทรก่อนหน้านี้เป็นการเรียกการสแกน NumFmtdBytes จะส่งกลับจำนวนไบต์ที่สแกนจากแหล่งที่มา ค่าที่ส่งคืนจะไม่ถูกกำหนดหากไม่มีการจัดรูปแบบหรือการสแกนก่อนหน้า
การดำเนินการบางอย่างโดยใช้ FmtFile และสแกนFile กิจวัตรประจำวันอาจส่งผลให้มีการจัดรูปแบบหรือสแกนมากกว่า 64 KB เนื่องจาก NumFmtdBytes ส่งกลับค่าจำนวนเต็ม ค่าของมันจึงไม่ถูกต้องในกรณีเหล่านี้ ค่าที่ส่งคืนจะทบกลับเมื่อมีการฟอร์แมตหรือสแกนมากกว่า 65,535 ไบต์
Example
ดับเบิลเอฟ; อินท์เอ็น; สแกน (“3.1416”, “%s>%f”, &f); n = NumFmtdBytes (); /* n จะมีค่า 6 ซึ่งบ่งชี้ว่ามีการสแกนไบต์ */ /* จำนวน XNUMX ไบต์จากสตริงต้นทาง -
เปิดFile
ตัวจัดการ int = เปิดFile (อักขระ *fileชื่อ, int read/writeMode, int action, int fileพิมพ์); วัตถุประสงค์เปิด file สำหรับอินพุตและ/หรือเอาต์พุต
ไลบรารีมาตรฐานของ LabWindows/CVI
2-20
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
พารามิเตอร์
ป้อนข้อมูล
fileตั้งชื่อการดำเนินการอ่าน/เขียนโหมด fileพิมพ์
จำนวนเต็มสตริง จำนวนเต็ม จำนวนเต็ม
ชื่อพาธ โหมดอ่าน/เขียน File ตำแหน่งการวางตำแหน่งตัวชี้ โหมด ASCII/ไบนารี
ค่าส่งคืน
รับมือ
จำนวนเต็ม
File แฮนเดิลเพื่อใช้ในการอ่านครั้งต่อไปFile/เขียนFile การโทร
รหัสส่งคืน
-1
ฟังก์ชั่นล้มเหลว ไม่สามารถเปิดได้ fileหรือการโต้แย้งที่ไม่ดี
เพื่อให้ทำงาน
การอภิปรายเกี่ยวกับพารามิเตอร์
fileName คือชื่อพาธที่ระบุ file ที่จะถูกเปิด ถ้าอาร์กิวเมนต์ read/writeMode เป็น write หรือ read/write ฟังก์ชันนี้จะสร้าง file ถ้ามันยังไม่มีอยู่ ถ้าก file ถูกสร้างขึ้นก็ถูกสร้างขึ้นโดยไม่มีการป้องกัน นั่นคือทั้งการอ่านและการเขียนสามารถทำได้ ใช้ฟังก์ชันรับFileข้อมูลหากจำเป็นเพื่อพิจารณาว่าก file มีอยู่แล้ว.
read/writeMode ระบุว่าวิธีการ file เปิด:
· VAL_READ_WRITE = เปิด file สำหรับการอ่านและการเขียน
· VAL_READ_ONLY = เปิด file สำหรับการอ่านเท่านั้น
· VAL_WRITE_ONLY = เปิด file สำหรับการเขียนเท่านั้น
การดำเนินการระบุว่าจะลบเนื้อหาเก่าของไฟล์หรือไม่ fileและไม่ว่าจะบังคับ file ตัวชี้ไปที่ส่วนท้ายของ file ก่อนการดำเนินการเขียนแต่ละครั้ง การกระทำจะมีความหมายก็ต่อเมื่อ read/writeMode = write หรือ read/write หลังจากดำเนินการอ่านแล้ว ไฟล์ file ตัวชี้ชี้ไปที่ไบต์หลังจากอ่านไบต์สุดท้าย ค่าการกระทำมีดังนี้:
· VAL_TRUNCATE = ตัดทอน file (ลบเนื้อหาเก่าและตำแหน่งไฟล์ file ตัวชี้ที่จุดเริ่มต้นของ file.
· VAL_APPEND = อย่าตัดทอน file (การดำเนินการเขียนทั้งหมดต่อท้ายส่วนท้ายของ file).
· VAL_OPEN_AS_IS = อย่าตัดทอน file (วางตำแหน่ง file ตัวชี้ที่จุดเริ่มต้นของ file. )
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-21
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
fileประเภทระบุว่าจะรักษาหรือไม่ file เป็น ASCII หรือไบนารี เมื่อดำเนินการ I/O บน file ในโหมดไบนารี่ ไม่มีการดูแลเป็นพิเศษกับการขึ้นบรรทัดใหม่ (CR) และการป้อนบรรทัด (LF) เมื่อคุณเปิด file ในโหมด ASCII การรวม CR LF จะแปลเป็น LF เมื่ออ่าน และ LF จะแปลเป็น CR LF เมื่อเขียน fileค่าประเภทมีดังนี้:
· VAL_BINARY = ไบนารี่
· VAL_ASCII = ASCII
อ่านFile
int n = อ่านFile (ภายใน fileจัดการ, บัฟเฟอร์ถ่าน [], นับ int);
วัตถุประสงค์
อ่านข้อมูลได้ถึงจำนวนไบต์จาก file หรือ STDIN ลงในบัฟเฟอร์ การอ่านเริ่มต้นที่ตำแหน่งปัจจุบันของ file ตัวชี้ เมื่อฟังก์ชันเสร็จสิ้น file ตัวชี้ชี้ไปที่อักขระตัวถัดไปที่ยังไม่ได้อ่านใน file.
พารามิเตอร์
อินพุตเอาต์พุต
fileจัดการบัฟเฟอร์การนับ
จำนวนเต็ม สตริงจำนวนเต็ม
File รับมือ. จำนวนไบต์ที่จะอ่าน บัฟเฟอร์อินพุต
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนไบต์ที่อ่าน
รหัสส่งคืน
-1 0
เกิดข้อผิดพลาด ด้ามจับอาจไม่ดี พยายามอ่านอดีตจบ-file.
การอภิปรายเกี่ยวกับพารามิเตอร์
fileที่จับคือ file หมายเลขอ้างอิงที่ส่งคืนโดย OpenFile การทำงาน. fileจับชี้ไปที่ file ที่คุณต้องการอ่าน ถ้า fileหมายเลขอ้างอิง = 0 อินพุตถูกอ่านจาก STDIN และไม่มีการเปิดก่อนหน้าFile จำเป็นต้องโทร buffer คือบัฟเฟอร์ที่คุณใช้อ่านข้อมูล คุณต้องจัดสรรพื้นที่สำหรับบัฟเฟอร์นี้ก่อนที่คุณเรียกใช้ฟังก์ชันนี้ count ระบุจำนวนไบต์ที่จะอ่าน จำนวนต้องไม่มากกว่าขนาดบัฟเฟอร์
ไลบรารีมาตรฐานของ LabWindows/CVI
2-22
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
การใช้ฟังก์ชันนี้
ค่าที่ส่งคืนสามารถน้อยกว่าจำนวนไบต์ที่ร้องขอหากสิ้นสุด file ถึงก่อนจะครบจำนวนไบต์ สังเกตว่าถ้าคุณเปิดไฟล์ file ในโหมด ASCII การอ่านชุด CR LF แต่ละรายการจะนับเป็น 1 อักขระ เนื่องจากคู่จะถูกแปลเป็น LF เมื่อเก็บไว้ในบัฟเฟอร์
หมายเหตุ: ฟังก์ชันนี้ไม่ได้ยุติบัฟเฟอร์ด้วย ASCII NUL
อ่านไลน์
int n = ReadLine (int fileหมายเลขอ้างอิง char lineBuffer[], int maximum#Bytes); วัตถุประสงค์ อ่านไบต์จาก file จนกระทั่งเจอการป้อนบรรทัด พารามิเตอร์
ป้อนข้อมูล
fileรับมือ
จำนวนเต็ม
จำนวนเต็ม #Bytes สูงสุด
เอาท์พุต
lineBuffer
สตริง
File รับมือ.
จำนวนไบต์สูงสุดที่จะอ่านในบรรทัด ไม่รวม ASCII NUL
บัฟเฟอร์อินพุต
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนไบต์ที่อ่าน
ไม่รวมการป้อนบรรทัด
รหัสส่งคืน
-2
สิ้นสุดของ file.
-1
ข้อผิดพลาด I/O
การอภิปรายเกี่ยวกับพารามิเตอร์
ฟังก์ชันนี้จะวางค่าสูงสุด #Bytes ไบต์ ไม่รวมการป้อนบรรทัด ลงใน lineBuffer ผนวก ASCII NUL กับ lineBuffer หากมีมากกว่าจำนวนสูงสุด #Bytes ไบต์ก่อนการป้อนบรรทัด ไบต์ส่วนเกินจะถูกละทิ้ง
fileที่จับคือ file หมายเลขอ้างอิงที่ส่งคืนจาก OpenFile ฟังก์ชั่นและระบุ file ที่จะอ่านบรรทัด ที่ file ควรเปิดในโหมด ASCII เพื่อให้
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-23
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
ชุดค่าผสมการขึ้นบรรทัดใหม่/การป้อนบรรทัดจะถือเป็นการป้อนบรรทัด ถ้า fileหมายเลขอ้างอิงเป็นศูนย์ บรรทัดจะถูกอ่านจากอินพุตมาตรฐาน
lineBuffer เป็นบัฟเฟอร์อักขระ ควรมีขนาดใหญ่พอที่จะบรรจุจำนวนสูงสุด #Bytes ไบต์บวก ASCII NUL
ReadLine ส่งกลับจำนวนไบต์ที่อ่านจาก fileรวมถึงไบต์ที่ถูกละทิ้ง แต่ไม่รวมการป้อนบรรทัด ดังนั้นค่าที่ส่งคืนจะเกินค่าสูงสุด #Bytes ถ้าหากไบต์ถูกละทิ้งเท่านั้น
ถ้าไม่มีการอ่านไบต์เพราะว่าจุดสิ้นสุดของ file ถึงแล้ว ReadLine ส่งคืน -2 หากมีข้อผิดพลาด I/O เกิดขึ้น ReadLine จะส่งกลับ -1
สแกน
int n = สแกน (เป็นโมฆะ *source, char *formatString, targetptr1,…,targetptrn); วัตถุประสงค์ สแกนรายการต้นฉบับเดียวในหน่วยความจำและแบ่งออกเป็นส่วนประกอบต่างๆ ตามตัวระบุรูปแบบที่พบใน formatString จากนั้นส่วนประกอบต่างๆ จะถูกวางลงในพารามิเตอร์เป้าหมาย พารามิเตอร์
อินพุตเอาต์พุต
รูปแบบแหล่งที่มาสตริง targetptr1,...,targetptrn
ประเภทต้องตรงกับสตริงเนื้อหา formatString ประเภทต้องตรงกับเนื้อหา formatString
ค่าส่งคืน
n
จำนวนเต็ม จำนวนรูปแบบเป้าหมาย
ตัวระบุพอใจ
รหัสส่งคืน -1
ข้อผิดพลาดของรูปแบบสตริง
การใช้ฟังก์ชันนี้
ค่าที่ส่งคืนจะระบุจำนวนตัวระบุรูปแบบเป้าหมายที่ตรงตามเงื่อนไข หรือ -1 หากสตริงรูปแบบมีข้อผิดพลาด การอภิปรายทั้งหมดของฟังก์ชันนี้อยู่ในส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนในบทนี้
ไลบรารีมาตรฐานของ LabWindows/CVI
2-24
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
สแกนFile
int n = สแกนFile (ภายใน fileจัดการ, ถ่าน * formatString, targetptr1, …, targetptrn);
วัตถุประสงค์
ดำเนินการพื้นฐานเช่นเดียวกับฟังก์ชันสแกน ยกเว้นว่าได้แหล่งข้อมูลมาจาก file อ้างถึงโดย fileจัดการอาร์กิวเมนต์ ซึ่งได้มาจากการเรียกใช้ฟังก์ชัน LabWindows/CVI เปิดFile.
พารามิเตอร์
อินพุตเอาต์พุต
fileจัดการ formatString targetptr1,...,targetptrn
จำนวนเต็ม. สตริง ประเภทต้องตรงกับเนื้อหา formatString
ค่าส่งคืน
n
จำนวนเต็ม จำนวนรูปแบบเป้าหมาย
ตัวระบุพอใจ
รหัสส่งคืน
-1
ข้อผิดพลาดของรูปแบบสตริง
-2
ข้อผิดพลาด I/O
การใช้ฟังก์ชันนี้
จำนวนข้อมูลที่อ่านจาก file ขึ้นอยู่กับจำนวนเงินที่จำเป็นในการตอบสนองรูปแบบในสตริงรูปแบบ ค่าที่ส่งคืนจะระบุจำนวนตัวระบุรูปแบบเป้าหมายที่เป็นไปตาม -1 หากสตริงรูปแบบมีข้อผิดพลาด หรือ -2 หากมีข้อผิดพลาด I/O การอภิปรายทั้งหมดของฟังก์ชันนี้อยู่ในส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนในบทนี้
สแกนอิน
int n = ScanIn (ถ่าน *formatString, targetptr1,...,targetptrn);
วัตถุประสงค์
ดำเนินการพื้นฐานเช่นเดียวกับการสแกนFile ฟังก์ชั่น ยกเว้นว่าแหล่งข้อมูลได้มาจาก STDIN
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-25
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
พารามิเตอร์
อินพุตเอาต์พุต
formatString targetptr1,...,targetptrn
สตริง ประเภทต้องตรงกับเนื้อหา formatString
ค่าส่งคืน
n
จำนวนเต็ม จำนวนรูปแบบเป้าหมาย
ตัวระบุพอใจ
รหัสส่งคืน
-1
ข้อผิดพลาดของรูปแบบสตริง
-2
ข้อผิดพลาด I/O
การใช้ฟังก์ชันนี้
ไม่จำเป็นต้องมีอาร์กิวเมนต์สำหรับรายการต้นฉบับในกรณีของฟังก์ชัน ScanIn ค่าที่ส่งคืนจะระบุจำนวนตัวระบุรูปแบบเป้าหมายที่เป็นไปตาม -1 หากสตริงรูปแบบมีข้อผิดพลาด หรือ -2 หากมีข้อผิดพลาด I/O การอภิปรายทั้งหมดของฟังก์ชันนี้อยู่ในส่วนการใช้ฟังก์ชันการจัดรูปแบบและการสแกนในบทนี้
ชุดFileพีทีอาร์
ตำแหน่งยาว = ตั้งค่าFileปตท. (int fileที่จับ, ออฟเซ็ตยาว, int origin); วัตถุประสงค์ ย้าย file ตัวชี้สำหรับ file ระบุโดย fileจัดการไปยังตำแหน่งที่ชดเชยไบต์จากจุดเริ่มต้น ส่งกลับค่าชดเชยของใหม่ file ตำแหน่งตัวชี้จากจุดเริ่มต้นของ file. พารามิเตอร์
ป้อนข้อมูล
fileจัดการจุดกำเนิดออฟเซ็ต
จำนวนเต็ม จำนวนเต็มยาว จำนวนเต็ม
File หมายเลขอ้างอิงที่ส่งคืนโดย OpenFile.
จำนวนไบต์จากต้นทางถึงตำแหน่งของ file ตัวชี้
ตำแหน่งใน file จากการชดเชยฐาน
ไลบรารีมาตรฐานของ LabWindows/CVI
2-26
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
ค่าส่งคืน
ตำแหน่ง
จำนวนเต็มยาว
ชดเชยของใหม่ file ตำแหน่งตัวชี้จากจุดเริ่มต้นของ file.
รหัสส่งคืน
-1
ข้อผิดพลาดเนื่องจากไม่ถูกต้อง file จัดการต้นกำเนิดที่ไม่ถูกต้อง
ค่าหรือค่าออฟเซ็ตที่อยู่ก่อนจุดเริ่มต้น
ของ file.
การอภิปรายเกี่ยวกับพารามิเตอร์
ค่าแหล่งกำเนิดที่ถูกต้องมีดังนี้:
· 0 = จุดเริ่มต้นของ file
· 1 = ตำแหน่งปัจจุบันของ file ตัวชี้
· 2 = จุดสิ้นสุดของ file
การใช้ฟังก์ชันนี้
ฟังก์ชันนี้ยังสามารถใช้เพื่อรับ file ขนาดโดยการตั้งค่าออฟเซ็ตเป็น 0 และจุดเริ่มต้นเป็น 2 ในกรณีนี้ ค่าที่ส่งคืนจะระบุ file ขนาดและตัวชี้จะอยู่ที่ส่วนท้ายของ file.
สามารถวางตำแหน่ง file ตัวชี้เลยจุดสิ้นสุดของ file- ไบต์ระดับกลาง (ไบต์ระหว่างจุดสิ้นสุดเก่าของ file และจุดจบใหม่ของ file) มีค่าไม่แน่นอน ความพยายามที่จะวางตำแหน่ง file ตัวชี้ก่อนจุดเริ่มต้นของ file ทำให้ฟังก์ชันส่งคืนข้อผิดพลาด
หากมีการ file เป็นอุปกรณ์ที่ไม่รองรับการเข้าถึงแบบสุ่ม (เช่น อินพุตมาตรฐาน) ฟังก์ชันจะส่งกลับค่าที่ไม่แน่นอน
Example
/* เปิดหรือสร้าง file c:TEST.DAT ย้าย 10 ไบต์ไปไว้ใน fileและเขียนสตริงไปที่ file-
/* หมายเหตุ: ใช้ \ ในชื่อพาธในภาษา C แทน . */ int handle,ผลลัพธ์; ตำแหน่งยาว ที่จับ = เปิดFile(“c:\TEST.DAT”, 0, 2, 1); ถ้า (จัดการ == -1){
FmtOut (“ข้อผิดพลาดในการเปิด file- ออก (1); } ตำแหน่ง = ตั้งค่าFilePtr (ที่จับ, 10 ลิตร, 0); ถ้า (ตำแหน่ง == 10){
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-27
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
ผลลัพธ์ = เขียนFile(จัดการ “สวัสดีชาวโลก!”, 13); ถ้า (ผลลัพธ์ == -1)
FmtOut (“เกิดข้อผิดพลาดในการเขียนถึง file- } อื่น
FmtOut (“ตำแหน่งข้อผิดพลาด file ตัวชี้”); ปิดFile(รับมือ);
บทที่ 2
StringLength
int n = StringLength (อักขระ *สตริง); วัตถุประสงค์ ส่งกลับจำนวนไบต์ในสตริงก่อน ASCII NUL แรก พารามิเตอร์
ป้อนข้อมูล
สตริง
สตริง.
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนไบต์ในสตริง
ก่อน ASCII NUL
Example
ถ่าน s [100]; int ไบต์; nbytes = ความยาวสตริง (s);
StringLowerCase
เป็นโมฆะ StringLowerCase (สตริงอักขระ []); วัตถุประสงค์ แปลงอักขระตัวอักษรตัวพิมพ์ใหญ่ทั้งหมดในสตริงที่สิ้นสุดด้วย NUL ให้เป็นตัวพิมพ์เล็ก พารามิเตอร์
สตริงอินพุต/เอาต์พุต
สตริง.
ไลบรารีมาตรฐานของ LabWindows/CVI
2-28
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
มูลค่าการส่งคืน ไม่มี
การจัดรูปแบบและไลบรารี I/O
StringUpperCase
เป็นโมฆะ StringUpperCase (สตริงอักขระ []); วัตถุประสงค์ แปลงอักขระตัวอักษรตัวพิมพ์เล็กทั้งหมดในสตริงที่สิ้นสุดด้วย NUL เป็นตัวพิมพ์ใหญ่ พารามิเตอร์
สตริงอินพุต/เอาต์พุต
สตริง.
มูลค่าการส่งคืน ไม่มี
เขียนFile
int n = เขียนFile (ภายใน fileจัดการ, char *buffer, จำนวน int ที่ไม่ได้ลงนาม);
วัตถุประสงค์
เขียนข้อมูลได้มากถึงนับจำนวนไบต์จากบัฟเฟอร์ถึง a file หรือไปที่ STDOUT การเขียนเริ่มต้นที่ตำแหน่งปัจจุบันของ file ตัวชี้ และเมื่อฟังก์ชันเสร็จสิ้น file ตัวชี้จะเพิ่มขึ้นตามจำนวนไบต์ที่เขียน
พารามิเตอร์
ป้อนข้อมูล
fileจัดการจำนวนบัฟเฟอร์
จำนวนเต็ม สตริงจำนวนเต็ม
File รับมือ. บัฟเฟอร์ข้อมูล จำนวนไบต์ที่จะเขียน
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนไบต์ที่เขียนไปยัง
file.
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-29
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
รหัสส่งคืน -1
ข้อผิดพลาด.
การอภิปรายเกี่ยวกับพารามิเตอร์
fileที่จับคือ file หมายเลขอ้างอิงที่ส่งคืนจาก OpenFile การทำงาน. ถ้า fileหมายเลขอ้างอิง = 1 ข้อมูลถูกเขียนไปยัง STDOUT และไม่มีการเปิดก่อนหน้าFile จำเป็นต้องโทร
buffer คือบัฟเฟอร์ที่ใช้เขียนข้อมูล
count ระบุจำนวนไบต์ที่จะเขียน พารามิเตอร์ count จะแทนที่ขนาดบัฟเฟอร์ในการกำหนดจำนวนไบต์ที่จะเขียน บัฟเฟอร์ที่มีไบต์ NUL ฝังอยู่จะถูกเขียนแบบเต็ม จำนวนต้องไม่มากกว่าขนาดบัฟเฟอร์
การใช้ฟังก์ชันนี้
สำหรับ fileที่เปิดในโหมด ASCII อักขระ LF แต่ละตัวจะถูกแทนที่ด้วยชุด CR-LF ในเอาต์พุต ในกรณีนี้ ค่าที่ส่งคืนจะไม่รวมอักขระ CR ที่เขียนลงในเอาต์พุต
ข้อผิดพลาดสามารถบ่งบอกถึงความไม่ดี file จัดการความพยายามที่จะเข้าถึงการป้องกัน fileความพยายามในการเขียนถึง file เปิดเป็นแบบอ่านอย่างเดียว หรือไม่เหลือพื้นที่บนดิสก์อีกต่อไป
เขียนไลน์
int n = WriteLine (int fileจัดการ, ถ่าน * lineBuffer, int numberofBytes); วัตถุประสงค์ เขียนจำนวนไบต์ไบต์จาก lineBuffer ถึง a file แล้วเขียน linefeed ไปที่ file. พารามิเตอร์
ป้อนข้อมูล
fileหมายเลขอ้างอิงบัฟเฟอร์ของไบต์
จำนวนเต็ม สตริงจำนวนเต็ม
File รับมือ. บัฟเฟอร์ข้อมูล จำนวนไบต์ที่จะเขียน
ค่าส่งคืน
n
จำนวนเต็ม
จำนวนไบต์ที่เขียน
รวมถึงการป้อนบรรทัด
ไลบรารีมาตรฐานของ LabWindows/CVI
2-30
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
บทที่ 2
การจัดรูปแบบและไลบรารี I/O
รหัสส่งคืน
-1
ข้อผิดพลาด I/O
การอภิปรายเกี่ยวกับพารามิเตอร์
ถ้า numberofBytes เป็น -1 เฉพาะไบต์ใน lineBuffer ก่อน ASCII NUL แรกเท่านั้นที่จะถูกเขียน ตามด้วยการป้อนบรรทัด
fileที่จับคือ file หมายเลขอ้างอิงที่ส่งคืนจาก OpenFile ฟังก์ชั่น. file ควรเปิดในโหมด ASCII เพื่อให้การขึ้นบรรทัดใหม่จะถูกเขียนก่อนการป้อนบรรทัด ถ้า fileหมายเลขอ้างอิงคือ 1 บรรทัดจะถูกเขียนไปยัง STDOUT
การใช้ฟังก์ชันนี้
WriteLine ส่งกลับจำนวนไบต์ที่เขียนไปยัง fileไม่รวมการป้อนบรรทัด หากมีข้อผิดพลาด I/O เกิดขึ้น WriteLine จะส่งกลับ -1
การใช้ฟังก์ชันการจัดรูปแบบและการสแกน
คุณใช้ฟังก์ชันการจัดรูปแบบข้อมูลเพื่อแปลหรือจัดรูปแบบรายการข้อมูลเป็นรูปแบบอื่น การใช้งานทั่วไปอาจเป็นการแปลระหว่างข้อมูลที่จัดเก็บไว้ในภายนอก fileและรูปแบบภายในที่โปรแกรมสามารถจัดการได้ หรือเพื่อฟอร์แมตรูปแบบไบนารี่ต่างประเทศเป็นรูปแบบที่โปรแกรมสามารถทำงานได้
ฟังก์ชันการจัดรูปแบบข้อมูลมีคลาสย่อยสามคลาสในการจัดรูปแบบ LabWindows/CVI และไลบรารี I/O:
· ฟังก์ชั่นการจัดรูปแบบ
· ฟังก์ชั่นการสแกน
· ฟังก์ชั่นสถานะ
คุณใช้ฟังก์ชันการจัดรูปแบบเพื่อรวมและจัดรูปแบบรายการแหล่งที่มาตั้งแต่หนึ่งรายการขึ้นไปให้เป็นรายการเป้าหมายเดียว และคุณใช้ฟังก์ชันการสแกนเพื่อแยกรายการแหล่งที่มาเดียวออกเป็นหลายรายการเป้าหมาย ฟังก์ชันสถานะส่งคืนข้อมูลเกี่ยวกับความสำเร็จหรือความล้มเหลวของฟังก์ชันการจัดรูปแบบหรือการสแกน
การจัดรูปแบบและการสแกนเบื้องต้น เช่นampเลส
เพื่อแนะนำให้คุณรู้จักกับฟังก์ชันการจัดรูปแบบและการสแกน ให้พิจารณาตัวอย่างต่อไปนี้ampเลส.
© เนชั่นแนล อินสตรูเมนท์ คอร์ปอเรชั่น
2-31
ไลบรารีมาตรฐานของ LabWindows/CVI
การจัดรูปแบบและไลบรารี I/O
บทที่ 2
แปลงค่าจำนวนเต็ม 23 เป็นตัวแทน ASCII และวางเนื้อหาในตัวแปรสตริง:
ถ่าน [5]; อินท์ข,เอ็น; ข = 23; n = Fmt (ก, “%s<%i”, ข);
หลังจากการเรียก Fmt a จะมีสตริง 23
ในอดีตที่ผ่านมาample, a คืออาร์กิวเมนต์เป้าหมาย, b คืออาร์กิวเมนต์ต้นทาง และสตริง %s<%i คือสตริงรูปแบบ การเรียก Fmt ใช้สตริงรูปแบบเพื่อกำหนดวิธีการแปลงอาร์กิวเมนต์ต้นทางเป็นอาร์กิวเมนต์เป้าหมาย
ด้วยฟังก์ชันสแกน คุณสามารถแปลงสตริง 23 เป็นจำนวนเต็มได้:
ถ่าน * ก; ก = “23”; n = สแกน (a$, “%s>%i”, b%);
หลังจากการโทรสแกน b = 23
ในอดีตที่ผ่านมาample, a คืออาร์กิวเมนต์แหล่งที่มา, b คืออาร์กิวเมนต์เป้าหมาย และ %s>%i คือสตริงรูปแบบ
เอกสาร / แหล่งข้อมูล
![]() |
เครื่องมือแห่งชาติ 320682 Lab Windows Standard Libraries [พีดีเอฟ] คู่มือการใช้งาน 320682 Lab Windows Standard Libraries, 320682, Lab Windows Standard Libraries, Windows Standard Libraries, ไลบรารีมาตรฐาน, ไลบรารี |





