


Bagaimana untuk menetapkan data fail kepada pembolehubah struktur dalam bahasa C
Bagaimana untuk menetapkan data fail kepada pembolehubah struktur dalam bahasa C
/*Jantina[2] yang diberikan nampaknya tidak sesuai dengan 4 huruf. . . . . . Tetapi saya faham maksud soalan itu.
**Untuk memudahkan pengaturcaraan, saya menukar semua data dalam struktur ke dalam tatasusunan aksara Jika nombor diperlukan, tambahkan satu lagi langkah penukaran** Ia agak mudah dan saya tidak akan menulisnya , struktur digunakan dalam tatasusunan Badan program, jika anda tidak pasti berapa banyak baris yang terdapat dalam fail, untuk menjimatkan memori, anda boleh menggunakan peruntukan dinamik. Ia ditulis dengan tergesa-gesa, dan tiada fungsi yang terkandung, tetapi ia sememangnya boleh digunakan, jadi lakukan sahaja~~~
*/
#include <...>
mempekerjakan arahan
{
id char[10];
nama char[10];
char seks[5];
umur char[5];
char edu[10];
gaji caj[5];
alamat char[20];
nombor aksara [20];
};
int _tmain(int argc, _TCHAR* argv[])
{
char buf[100];
FAIL* pf=NULL;
struct employ Ep[10]={};
int bendera=0;
pf=fopen("employ.dat","r");
jika(!pf)
{
printf("Pembukaan fail gagal! n");
sistem("jeda");
kembali -1;
}
sementara(fgets(buf,99,pf))
{
char* pchar=buf;
untuk(int i=0;i
{
Ep[bendera].id[i]=*pchar;
jika(*pchar++==',')
rehat;
}
untuk(int i=0;i
{
Ep[bendera].nama[i]=*pchar;
jika(*pchar++==',')
rehat;
}
untuk(int i=0;i
{
Ep[bendera].seks[i]=*pchar;
jika(*pchar++==',')
rehat;
}
untuk(int i=0;i
{
Ep[bendera].umur[i]=*pchar;
jika(*pchar++==',')
rehat;
}
untuk(int i=0;i
{
Ep[flag].edu[i]=*pchar;
jika(*pchar++==',')
rehat;
}
untuk(int i=0;i
{
Ep[bendera].gaji[i]=*pchar;
jika(*pchar++==',')
rehat;
}
untuk(int i=0;i
{
Ep[bendera].alamat[i]=*pchar;
jika(*pchar++==',')
rehat;
}
untuk(int i=0;i
{
Ep[bendera].nombor[i]=*pchar;
jika(!*pchar++)
rehat;
}
//printf("%s",buf);
++bendera;
}
fclose(pf);
sistem("jeda");
kembali 0;
}
Cara menggunakan pembolehubah data dalam fail txt dalam bahasa C
Gunakan fungsi fopen dan fscanf untuk membaca kandungan daripada fail txt dan melakukan operasi mudah.
1.Prototaip fungsi Fopen: FAIL * fopen(const char * path, const char * mod);
Parameter pertama fungsi fopen ialah laluan fail, dan parameter kedua ialah kaedah pembukaan. Terdapat kaedah berikut:
r Buka fail dalam mod baca sahaja, fail mesti wujud.
r+ membuka fail untuk membaca dan menulis, fail mesti wujud.
rb+ membuka fail binari untuk membaca dan menulis, membolehkan data dibaca.
rw+ baca-tulis membuka fail teks, membenarkan membaca dan menulis.
w Buka fail tulis sahaja Jika fail itu wujud, panjang fail akan dikosongkan kepada 0, iaitu kandungan fail akan hilang. Jika fail itu tidak wujud, buat fail tersebut.
w+ membuka fail yang boleh dibaca dan boleh ditulis Jika fail itu wujud, panjang fail akan dikosongkan kepada sifar, iaitu kandungan fail akan hilang. Jika fail itu tidak wujud, buat fail tersebut.
a Buka fail tulis sahaja dalam mod tambah. Jika fail tidak wujud, fail akan dibuat Jika fail wujud, data bertulis akan ditambah pada penghujung fail, iaitu kandungan asal fail akan dikekalkan. (Watak EOF dikhaskan)
a+ Buka fail baca-tulis dalam mod tambah. Jika fail tidak wujud, fail akan dibuat Jika fail wujud, data bertulis akan ditambah pada penghujung fail, iaitu kandungan asal fail akan dikekalkan. (Simbol EOF asal tidak dikekalkan)
wb Buka atau buat fail binari baharu untuk menulis sahaja;
wb+ baca-tulis membuka atau mencipta fail binari, membenarkan membaca dan menulis.
wt+ Baca dan tulis Buka atau buat fail teks membolehkan membaca dan menulis.
at+ membuka fail teks untuk membaca dan menulis, membenarkan membaca atau menambahkan data pada penghujung teks.
ab+ membuka fail binari untuk membaca dan menulis, membenarkan membaca atau menambahkan data ke penghujung fail.
Rentetan morfologi di atas boleh ditambah dengan aksara b, seperti rb, w+b atau ab+ dan kombinasi lain Aksara b ditambah untuk memberitahu perpustakaan fungsi bahawa fail yang dibuka ialah fail binari, bukan fail teks tulen.
Nilai pulangan: Selepas fail berjaya dibuka, penuding fail yang menghala ke strim akan dikembalikan. Jika pembukaan fail gagal, NULL dikembalikan dan kod ralat disimpan dalam errno.
2
12
3
4
5
6
7
8
9
10
11
12
#include
charc;
intmain(){
FILE*fp=NULL; //Perlu ambil perhatian
fp=fopen(F_PATH,"r");
if(NULL==fp) return-1; //Untuk mengembalikan kod ralat
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //Baca daripada teks dan cetak pada konsol
fclose(fp);
fp=NULL; //Perlu menunjuk ke null, jika tidak, ia akan menunjuk ke alamat fail asal yang dibuka
kembali0;
}
Cara membaca baris tertentu dalam fail txt dalam suara C dan menetapkannya kepada pembolehubah
Kaedah paling mudah ialah membaca baris demi baris, tetapi hanya dapatkan baris data yang anda mahukan. Di bawah adalah contoh mudah yang saya tulis. Saya cabutan hadiah sebanyak tiga kali dan tidak ada pendua.
#include
#include
#include
#define PEOPLE_NUM 10 //Terdapat 10 nama dalam fail saya
batal dapatkan_hadiah(FAIL* fp, char prize_name[])
{
int num;
int i;
fseek(fp, 0, SEEK_SET);
printf("mula...n");
bilangan = rand() % ORANG_NUM + 1;
untuk(i = 0; i
{
fgets(nama_hadiah, 32, fp);
}
printf("%s dapat hadiah!!!n", nama_hadiah);
}
int main()
{
FAIL* fp = fopen("name.txt", "r");
nombor_hadiah masuk;
int i;
nama_hadiah char[32] = {0};
srand(masa(0));
untuk(i = 0; i
{
printf("n");
dapatkan_hadiah(fp, nama_hadiah);
}
fclose(fp);
kembali 0;
}Fail kelihatan seperti ini:
Tangkapan skrin berjalan:
Semasa menulis program sebegini, fail tempat anda menyimpan nama mesti disusun dengan kemas supaya program dapat memprosesnya dengan mudah. semoga berjaya.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan data fail kepada pembolehubah struktur dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apakah peringatan kesihatan pemacu dalam tetapan Windows dan apa yang perlu anda lakukan apabila anda menerima amaran cakera? Baca tutorial Php.CN ini untuk mendapatkan arahan langkah demi langkah untuk mengatasi keadaan ini.

Artikel membincangkan penyuntingan Windows Registry, Langkah berjaga -jaga, kaedah sandaran, dan isu -isu yang berpotensi dari suntingan yang salah. Isu utama: Risiko ketidakstabilan sistem dan kehilangan data dari perubahan yang tidak wajar.

Artikel membincangkan menguruskan perkhidmatan Windows untuk kesihatan sistem, termasuk permulaan, berhenti, memulakan semula perkhidmatan, dan amalan terbaik untuk kestabilan.

Kesalahan awan stim boleh disebabkan oleh banyak sebab. Untuk bermain permainan dengan lancar, anda perlu mengambil beberapa langkah untuk mengeluarkan ralat ini sebelum anda melancarkan permainan. Perisian Php.CN memperkenalkan beberapa cara terbaik serta maklumat yang lebih berguna dalam siaran ini.

Anda mungkin melihat "Sambungan ke Metadata Windows dan Perkhidmatan Internet (WMIS) tidak dapat ditubuhkan." Ralat pada Penonton Acara. Siaran ini dari Php.cn memperkenalkan cara menghapuskan masalah Windows Metadata dan Internet.

Artikel membincangkan perubahan aplikasi lalai untuk jenis fail pada Windows, termasuk perubahan semula dan perubahan pukal. Isu utama: Tiada pilihan perubahan pukal terbina dalam.

Isu Kemas Kini KB5035942 - Sistem terhempas biasanya berlaku kepada pengguna. Orang yang ditimbulkan berharap dapat mencari jalan keluar dari jenis masalah, seperti sistem terhempas, pemasangan, atau masalah bunyi. Menyasarkan situasi ini, jawatan ini diterbitkan oleh Php.CN Wil

Artikel ini menerangkan cara menggunakan editor dasar kumpulan (gpEdit.msc) di Windows untuk mengurus tetapan sistem, menonjolkan konfigurasi umum dan kaedah penyelesaian masalah. Ia menyatakan bahawa gpedit.msc tidak tersedia di edisi rumah windows, mencadangkan
