วิธีอ่านสตริงในC

วิธีอ่านสตริงใน C. ภาษาการเขียนโปรแกรม C ไม่ได้ระบุประเภทข้อมูลสตริงจริง ใน C สตริงจะถูกจำลองโดยอาร์เรย์ของอักขระที่สิ้นสุดใน NULL อาร์เรย์ดังกล่าวสามารถประกาศแบบคงที่หรือเป็นตัวชี้ได้ มาตรฐาน C มีฟังก์ชันมากมายในการจัดการอาร์เรย์อักขระหรือสตริง C บทความนี้เน้นที่ฟังก์ชันที่อ่านจากสตรีมอินพุตและจากไฟล์ ทำตามคำแนะนำเหล่านี้เพื่อเรียนรู้วิธีอ่านสตริงใน C

ขั้นตอนที่ 1

ทำความเข้าใจพื้นฐาน สตริง C คืออาร์เรย์ของแผนภูมิประเภท เช่นเดียวกับอาร์เรย์ C ทั้งหมด องค์ประกอบแรกจะถูกสร้างดัชนีที่ 0 และสุดท้ายที่ "ความยาวของสตริงลบ 1" โดยปกติ คอมไพเลอร์จะแทรก NULL ที่ตำแหน่งสุดท้าย ดังนั้นสตริงจึงสามารถเก็บ "ความยาวของสตริงลบ 1" ได้ องค์ประกอบ Null เทียบเท่ากับ 0x00 ในรูปแบบจำนวนเต็มและ '\0' ในรูปแบบถ่าน องค์ประกอบสามารถเข้าถึงได้โดยตัวดำเนินการ "[]" ขั้นตอนที่ 2 แสดงแนวคิดเหล่านี้

วิดีโอประจำวันนี้

ขั้นตอนที่ 2

เพิ่ม "include directive" ด้านล่างในไฟล์ต้นฉบับก่อนใช้ฟังก์ชันของบทช่วยสอนนี้:

#include < stdio.h >

ขั้นตอนที่ 3

ประกาศสตริง C รหัสด้านล่างแสดงการประกาศโดยใช้วิธีการคงที่และตัวชี้:

// การประกาศแบบคงที่ ถ่าน str[50] = {0}; // วิธีจดชวเลขเพื่อเริ่มต้นองค์ประกอบทั้งหมดเป็น 0 // str [49] คือ NULL // str มีความจุ 48 ตัวอักษร // ประกาศโดยตัวชี้ถ่าน

pStr = NULL; // ไม่มีการจัดสรรหน่วยความจำ pStr = (ถ่าน)malloc (50); // สิ่งนี้ทำโดย "malloc()"

ขั้นตอนที่ 4

อ่านข้อมูลลงในสตริง C โดยใช้ "scanf()" ซึ่งอ่านชุดของสตริงที่คั่นด้วยช่องว่างจากมาตรฐาน ป้อนข้อมูลและวางไว้ในที่อยู่ที่เป็นของตัวแปรอ้างอิงที่เหมาะสมตาม "รูปแบบ สตริง":

int n; printf("ป้อนชื่อและอายุของคุณ: "); scanf("%s%d", str, &n); // printf("คุณชื่อ %s และคุณอายุ %d เก่า\n", str, n);

ขั้นตอนที่ 5

ใส่ข้อมูลลงในสตริง C โดยใช้ฟังก์ชัน "gets()" ที่ง่ายกว่า ซึ่งจะอ่านข้อมูลจากอินพุตมาตรฐานลงในสตริงเท่านั้น:

printf("ป้อนนามสกุลของคุณ: "); ได้รับ (str); printf("ชื่อของคุณคือ %s\n", str);

ขั้นตอนที่ 6

อ่านข้อมูลไฟล์ลงในสตริง C โดยใช้ "fscanf()"; ฟังก์ชั่นนี้คล้ายกับ "scanf()":

ไฟล์* pไฟล์; pFile = fopen("myFile.txt", "r"); // ถือว่าไฟล์นั้นมีอยู่และมีข้อมูลถ้า (NULL != pFile) { fscanf (pFile, "%s", str); printf("คำแรกในไฟล์คือ %s\n", str); fclose (pFile); }

ขั้นตอนที่ 7

ทำซ้ำขั้นตอนที่ 5 โดยใช้ "fgets()" ซึ่งทำงานเหมือนกับ "gets()":

ไฟล์* pไฟล์; pFile = fopen("myFile.txt", "r"); ถ้า (NULL != pFile) { fgets (pFile, str); printf("คำแรกในไฟล์คือ %s\n", str); fclose (pFile); }

สิ่งที่คุณต้องการ

  • C/C++ IDE หรือคอมไพเลอร์ C

  • หนังสือเกี่ยวกับภาษาซี เช่น "The C Programming Language" โดย Brian W. เคอร์นิแกน

เคล็ดลับ

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันที่กล่าวถึง โปรดไปที่เว็บไซต์ C Plus Plus

คำเตือน

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

หมวดหมู่

ล่าสุด

วิธีการแปลง MP3 จาก 48000 เป็น 44100 Hz

วิธีการแปลง MP3 จาก 48000 เป็น 44100 Hz

คลื่นเสียงที่มีความถี่สุ่มตัวอย่าง 48000Hz อาจ...

วิธีเพิ่ม URL ให้กับการค้นหา AOL

วิธีเพิ่ม URL ให้กับการค้นหา AOL

ผู้ใช้เว็บส่วนใหญ่อาศัยเครื่องมือค้นหาเพื่อค้น...

วิธีสร้างบัญชี Grindr บัญชีที่สอง

วิธีสร้างบัญชี Grindr บัญชีที่สอง

เครดิตรูปภาพ: รูปภาพ Leon Neal / Getty ข่าว / G...