value)//Daten lesen{cout"/> value)//Daten lesen{cout">

Heim  >  Artikel  >  Software-Tutorial  >  Ich möchte alle um Rat fragen: Wie verwende ich die C-Sprache zum Konvertieren von Textdateien?

Ich möchte alle um Rat fragen: Wie verwende ich die C-Sprache zum Konvertieren von Textdateien?

王林
王林nach vorne
2024-01-24 16:18:10381Durchsuche

Ich möchte alle um Rat fragen: Wie verwende ich die C-Sprache zum Konvertieren von Textdateien?

Bitte sagen Sie mir: Wie man dieses TXT-Dokument mit der Sprache C konvertiert

Dies kann leicht mit STL gelöst werden. Es wurde kommentiert. Wenn Sie sich immer noch nicht sicher sind, lernen Sie STL.

#include

#include

#include

using namespace std;

void main()

{

ifstream in("F:\in.txt"); //Die Datei befindet sich in Laufwerk F und ist geöffnet

int key; //entspricht ungeraden Werten

doppelter Wert; //entspricht einer geraden Zahl

pair ar; //Schlüssel-Wert-Paarvariablen deklarieren

map Maplist; //Kartenliste erstellen

cout

while (in>>key>>value) //Daten lesen

{

cout

ar=make_pair(key,value);//Schlüssel-Wert-Paar erstellen

maplist.insert(ar); //In Maplist einfügen, dieser Container wird automatisch nach Schlüsselwert sortiert

}

in.close();

ofstream out("F:\out.txt"); //Ausgabedatei

cout

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

{

out

cout

}

out.close();

getchar();

}

Wenn Sie die Sprache C verwenden, um das Problem zu lösen, können Sie eine Struktur mit zwei Werten erstellen, dann ein Array oder eine verknüpfte Liste dieser Struktur erstellen, um die gelesenen Daten zu speichern, dann nach dem ersten Wert in der Struktur sortieren und schließlich ausgeben.

Problem mit der C-Sprachausgabe in ein Textdokument

#include

Void-Rechner()

{

int a,b,c,d;

char x,y;

DATEI *fp1,*fp2;

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

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

printf("Bitte eingeben");

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

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

Schalter (x)

{

Fall '+':

c=a+b;

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

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

Pause;

Fall '-':

c=a-b;

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

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

Pause;

Fall '*':

c=a*b;

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

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

Pause;

case '/':

c=a/b;

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

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

Pause;

Standard:

printf("Eingabefehler!n");

Pause;

}

}

int main()

{

Rechner();

return 0;

}

Der vollständige Code sieht so aus, dann erstellen Sie selbst eine neue express.txt und geben den Ausdruck darin ein, z. B. 3+4

Dann ausführen und 3+4=7 wird in result.txt ausgegeben

So geben Sie Dateien in C-Sprache aus

1. Die C-Sprachstandardbibliothek bietet eine Reihe von Dateioperationsfunktionen. Dateioperationsfunktionen werden im Allgemeinen in der Form f + Wort benannt (f ist die Abkürzung für Datei) und ihre Deklaration befindet sich in der Header-Datei stdio.h. Zum Beispiel werden die Funktionen fopen und fclose zum Öffnen und Schließen von Dateien verwendet; die Funktionen fprintf und fputs werden zum Schreiben von Dateien verwendet; die Funktionen fseek werden zum Abrufen und Festlegen von Dateioperationspositionen verwendet. Allgemeine C-Sprach-Tutorials enthalten ein Kapitel über Dateioperationen. Sie können dieses Lehrbuch zum weiteren Studium finden.

2. Routine:

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(){

FILE* fp1 = fopen("input.txt", "r"); //Öffne die Eingabedatei

FILE* fp2 = fopen("output.txt", "w"); //Ausgabedatei öffnen

if(fp1==NULL || fp2==NULL) {//Beenden, wenn das Öffnen der Datei fehlschlägt

puts("Datei kann nicht geöffnet werden!");

rturn 0;

}

fscanf(fp1,"%d",&a);//Eine Ganzzahl aus der Eingabedatei lesen

b=fgetc(fp1); //Ein Zeichen aus der Eingabedatei lesen

fgets(c,100,fp1); //Eine Zeichenfolge aus der Eingabedatei lesen

printf("%ld",ftell(fp1)); //Die Offset-Anzahl der Bytes der aktuellen Position des fp1-Zeigers relativ zum Anfang der Datei ausgeben

fputs(c,fp2); //Eine Zeichenfolge in die Ausgabedatei schreiben

fputc(b,fp2); //Schreibe ein Zeichen in die Ausgabedatei

fprintf(fp2,"%d",a); //Schreibe eine Ganzzahl in die Ausgabedatei

fclose(fp1); //Schließe die Eingabedatei

fclose(fp2); //Schließen Sie die Ausgabedatei, entspricht dem Speichern

return0;

}

So schreiben Sie die Ausgabeergebnisse eines C-Programms in eine TXT-Datei

#include

#include

int IsLeapYear(int Jahr)

{

if((year%4==0&year%100!=0)||(year%400==0))

return 1;

sonst

return 0;

}

int Monat_Tag(int Jahr,int Monat)

{

int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};

if(IsLeapYear(year)&month==2)

zurück 29;

sonst

return(mon_day[month-1]);

}

int DaySearch(int Jahr,int Monat,int Tag)

{

int c=0;

float s;

int m;

for(m=1;mc=c+month_day(year,m);

c=c+Tag;

s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c;

return ((int)s%7);

}

int PrintAllYear(int Jahr)

{

int temp;

int i,j;

DATEI *fp;

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

{

printf("Datei kann nicht geöffnet werden");

return 1;

}

fprintf(fp,"nn%d yearn",year);

for(i=1;i

{

temp=DaySearch(year,i,1);

if(i==1)

{

if(temp==0) fprintf(fp,"n erster Tag ist %dn",7);

else fprintf(fp,"n erster Tag ist %dn",temp);

}

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

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

for(j=1;j

{

if(j-temp

fprintf(fp," ");

sonst

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

if(j%7==0)

fprintf(fp,"n");

}

}

fclose(fp);

return 0;

}

void main()

{

int Jahr;

printf("nBitte geben Sie ein Jahr ein(XXXX)");

scanf("%d",&Jahr);

PrintAllYear(Jahr);

}

Das obige ist der detaillierte Inhalt vonIch möchte alle um Rat fragen: Wie verwende ich die C-Sprache zum Konvertieren von Textdateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen