nilai)//Baca data{cout"/> nilai)//Baca data{cout">

Rumah  >  Artikel  >  Tutorial perisian  >  Saya ingin meminta nasihat semua orang: Bagaimana untuk menggunakan bahasa C untuk menukar fail teks?

Saya ingin meminta nasihat semua orang: Bagaimana untuk menggunakan bahasa C untuk menukar fail teks?

王林
王林ke hadapan
2024-01-24 16:18:10380semak imbas

Saya ingin meminta nasihat semua orang: Bagaimana untuk menggunakan bahasa C untuk menukar fail teks?

Sila beritahu saya: Bagaimana untuk menukar dokumen txt ini menggunakan bahasa C

Ini boleh diselesaikan dengan mudah menggunakan STL Ia telah diulas Jika anda masih tidak pasti, pelajari STL.

#include

#include

#include

menggunakan ruang nama std;

void main()

{

ifstream in("F:\in.txt"); //Fail berada dalam pemacu F dan buka

int key; //sepadan dengan nilai ganjil

nilai berganda; // sepadan dengan nombor genap

pasangan ar; //Isytiharkan pembolehubah pasangan nilai kunci

peta senarai peta; //Buat senarai peta

cout

semasa (dalam>>kunci>>nilai) //Baca data

{

cout

ar=make_pair(key,value);//Buat pasangan kunci-nilai

maplist.insert(ar); //Masukkan ke dalam maplist, bekas ini akan mengisih mengikut nilai kunci secara automatik

}

dalam.dekat();

dari strim keluar("F:\out.txt"); //Fail keluaran

cout for(map

::const_iterator temp = maplist.begin(); temp != maplist.end(); temp++)

{

keluar cout }

out.close();

getchar();

}

Jika anda menggunakan bahasa C untuk menyelesaikan masalah, anda boleh mencipta struktur yang mengandungi dua nilai, kemudian mencipta tatasusunan atau senarai terpaut struktur ini untuk menyimpan data yang dibaca, kemudian mengisih mengikut nilai pertama dalam struktur, dan akhirnya keluaran.

Masalah keluaran bahasa C kepada dokumen teks

#include

kosong Kalkulator()

{

int a,b,c,d;

char x,y;

FAIL *fp1,*fp2;

fp1=fopen("expres.txt","r");

fp2=fopen("result.txt","w");

printf("Sila masukkan");

fscanf(fp1,"%d%c%d",&a,&x,&b);

fprintf(fp1,"%d%c%dn",a,x,b);

suis (x)

{

kes '+':

c=a+b;

printf("%d%c%d=%dn",a,x,b,c);

fprintf(fp2,"%d%c%d=%dn",a,x,b,c);

rehat;

kes '-':

c=a-b;

printf("%d%c%d=%dn",a,x,b,c);

fprintf(fp2,"%d%c%d=%dn",a,x,b,c);

rehat;

kes '*':

c=a*b;

printf("%d%c%d=%dn",a,x,b,c);

fprintf(fp2,"%d%c%d=%dn",a,x,b,c);

rehat;

kes '/':

c=a/b;

printf("%d%c%d=%dn",a,x,b,c);

fprintf(fp2,"%d%c%d=%dn",a,x,b,c);

rehat;

lalai:

printf("Ralat Input!n");

rehat;

}

}

int main()

{

Kalkulator();

kembali 0;

}

Kod lengkap adalah seperti ini, kemudian anda membuat sendiri express.txt baharu dan masukkan ungkapan di dalamnya, seperti 3+4

Kemudian jalankan, dan 3+4=7 akan dikeluarkan dalam result.txt

Bagaimana untuk mengeluarkan fail dalam bahasa C

1 Pustaka standard bahasa C menyediakan satu siri fungsi operasi fail. Fungsi pengendalian fail biasanya dinamakan dalam bentuk f+word (f ialah singkatan fail), dan pengisytiharannya terletak dalam fail pengepala stdio.h. Contohnya: fungsi fopen dan fclose digunakan untuk membuka dan menutup fail; fungsi fscanf dan fgets digunakan untuk membaca fail; fungsi fprintf dan fputs digunakan untuk menulis fail dan fungsi fseek digunakan untuk mendapatkan dan menetapkan kedudukan operasi fail. Tutorial bahasa C umum mempunyai bab tentang operasi fail Anda boleh mencari buku teks ini untuk kajian lanjut.

2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#include

inta;

charb,c[100];

intmain(){

FAIL* fp1 = fopen("input.txt", "r"); //Buka fail input

FAIL* fp2 = fopen("output.txt", "w"); //Buka fail output

jika(fp1==NULL || fp2==NULL) {//Keluar jika membuka fail gagal

puts("Tidak boleh buka fail!"

pusing 0;

}

fscanf(fp1,"%d",&a); //Baca integer daripada fail input

b=fgetc(fp1); //Baca aksara daripada fail input

fgets(c,100,fp1); //Baca baris rentetan daripada fail input

printf("%ld",ftell(fp1)); //Keluarkan bilangan offset bait kedudukan semasa penuding fp1 berbanding permulaan fail

fputs(c,fp2); //Tulis baris rentetan pada fail output

fputc(b,fp2); //Tulis aksara pada fail output

fprintf(fp2,"%d",a); //Tulis integer pada fail output

fclose(fp1); //Tutup fail input

fclose(fp2); //Tutup fail output, bersamaan dengan menyimpan

kembali0;

}

Cara menulis hasil keluaran program c ke fail txt

#include

#include

int IsLeapYear(int year)

{

jika((tahun%4==0&tahun%100!=0)||(tahun%400==0))

kembali 1;

lain

kembali 0;

}

hari_bulan int(tahun int,bulan int)

{

hari isnin[]={31,28,31,30,31,30,31,31,30,31,30,31};

jika(IsLeapYear(tahun)&bulan==2)

kembali 29;

lain

kembali(hari_isnin[bulan-1]);

}

int DaySearch(int year,int month,int day)

{

int c=0;

apung s;

int m;

untuk(m=1;mc=c+bulan_hari(tahun,m);

c=c+hari;

s=tahun-1+(terapung)(tahun-1)/4+(terapung)(tahun-1)/100+(terapung)(tahun-1)/400-40+c;

kembali ((int)s%7);

}

int PrintAllYear(int year)

{

int suhu;

int i,j;

FAIL *fp;

jika((fp=fopen("year.txt","wt"))==NULL)

{

printf("tidak boleh membuka filen");

kembali 1;

}

fprintf(fp,"nn%d rindu", tahun);

untuk(i=1;i

{

temp=DaySearch(tahun,i,1);

jika(i==1)

{

jika(temp==0) fprintf(fp,"n hari pertama ialah %dn",7);

lain fprintf(fp,"n hari pertama ialah %dn",temp);

}

fprintf(fp,"nn%d monthn",i);

fprintf(fp," SMT W T F S n");

untuk(j=1;j

{

jika(j-temp

fprintf(fp," ");

lain

fprintf(fp,"%3d",j-temp);

jika(j%7==0)

fprintf(fp,"n");

}

}

fclose(fp);

kembali 0;

}

void main()

{

tahun;

printf("nSila masukkan setahun(XXXX)");

scanf("%d",&tahun);

PrintAllYear(tahun);

}

Atas ialah kandungan terperinci Saya ingin meminta nasihat semua orang: Bagaimana untuk menggunakan bahasa C untuk menukar fail teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:docexcel.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam