이 문제는 STL을 사용하여 쉽게 해결할 수 있습니다. 아직 확실하지 않다면 STL을 배우세요.
#포함
#포함
#포함
네임스페이스 표준 사용;
void main()
{
ifstream in("F:\in.txt"); //파일이 F 드라이브에 있고 열려있습니다
int 키; //홀수 값에 해당
이중 값; //짝수에 해당
pair
map
cout
while (in>>key>>value) //데이터 읽기
{
cout
ar=make_pair(key,value);//키-값 쌍 생성
maplist.insert(ar); //맵리스트에 삽입하면 이 컨테이너는 키 값에 따라 자동으로 정렬됩니다
}
in.close();
ofstream out("F:\out.txt") //출력 파일
cout
for(map
{
아웃
cout
}
out.close();
getchar();
}
C 언어를 사용하여 문제를 해결하는 경우 두 개의 값을 포함하는 구조를 만든 다음 이 구조의 배열 또는 연결 목록을 만들어 읽은 데이터를 저장한 다음 구조의 첫 번째 값을 기준으로 정렬하고 최종적으로 출력할 수 있습니다.
#포함
공용 계산기()
{
int a,b,c,d;
문자 x,y;
파일 *fp1,*fp2;
fp1=fopen("expres.txt","r");
fp2=fopen("result.txt","w");
printf("n을 입력해주세요");
fscanf(fp1,"%d%c%d",&a,&x,&b);
fprintf(fp1,"%d%c%dn",a,x,b);
스위치(x)
{
대소문자 '+':
c=a+b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
휴식;
대소문자 '-':
c=a-b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
휴식;
대소문자 '*':
c=a*b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
휴식;
대소문자 '/':
c=a/b;
printf("%d%c%d=%dn",a,x,b,c);
fprintf(fp2,"%d%c%d=%dn",a,x,b,c);
휴식;
기본값:
printf("입력 오류!n");
휴식;
}
}
int 메인()
{
계산기();
0을 반환합니다;
}
완전한 코드는 다음과 같습니다. 그런 다음 새 express.txt를 직접 만들고 그 안에 3+4와 같은 표현식을 입력하세요
그런 다음 실행하면 3+4=7이 result.txt에 출력됩니다
1. C 언어 표준 라이브러리는 일련의 파일 작업 기능을 제공합니다. 파일 연산 함수는 일반적으로 f+word(f는 file의 약어) 형태로 명명되며, 해당 선언은 stdio.h 헤더 파일에 위치합니다. 예를 들어, fopen 및 fclose 함수는 파일을 열고 닫는 데 사용되며, fscanf 및 fgets 함수는 파일을 쓰는 데 사용되며, ftell 및 fseek 함수는 파일 작업 위치를 가져오고 설정하는 데 사용됩니다. 일반 C 언어 자습서에는 파일 작업에 대한 장이 있습니다. 추가 학습을 위해 이 교과서를 찾을 수 있습니다.
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
#포함
인타;
charb,c[100];
intmain(){
FILE* fp1 = fopen("input.txt", "r"); //입력 파일 열기
FILE* fp2 = fopen("output.txt", "w"); //출력 파일 열기
if(fp1==NULL || fp2==NULL) {//파일 열기에 실패하면 종료
puts("파일을 열 수 없습니다!");
턴 0;}
fscanf(fp1,"%d",&a);//입력 파일에서 정수 읽기
b=fgetc(fp1); //입력 파일에서 문자 읽기
fgets(c,100,fp1); //입력 파일에서 문자열 한 줄을 읽습니다
printf("%ld",ftell(fp1)); //파일 시작 부분을 기준으로 fp1 포인터의 현재 위치의 오프셋 바이트 수를 출력합니다.
fputs(c,fp2); //출력 파일에 문자열 한 줄 쓰기
fputc(b,fp2); //출력 파일에 문자 쓰기
fprintf(fp2,"%d",a); //출력 파일에 정수 쓰기
fclose(fp1); //입력 파일을 닫습니다
fclose(fp2); //저장과 동일하게 출력 파일을 닫습니다
return0;
}
c 프로그램의 출력 결과를 txt 파일에 쓰는 방법
#포함
int IsLeapYear(int 연도)
{
if((연도%4==0&연도%100!=0)||(연도%400==0))
반환 1;
그밖에
0을 반환합니다;
}
int Month_day(int 년,int 월)
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear(년)&월==2)
반환 29;
그밖에
반품(월_일[월-1]);
}
int DaySearch(int 년,int 월,int 일)
{
int c=0;
플로트 s;
intm;
for(m=1;mc=c+month_day(년,월);
c=c+day;
s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c;
return ((int)s%7);
}
int PrintAllYear(int 연도)
{
임시온도;
int i,j;
파일 *fp;
if((fp=fopen("year.txt","wt"))==NULL)
{
printf("파일을 열 수 없습니다");
반환 1;
}
fprintf(fp,"nn%d 갈망",연도);
for(i=1;i
{
temp=DaySearch(연도,i,1);
if(i==1)
{
if(temp==0) fprintf(fp,"n의 첫날은 %dn",7);
else fprintf(fp,"n의 첫날은 %dn",temp);
}
fprintf(fp,"nn%d개월",i);
fprintf(fp," S M T W T F S n");
for(j=1;j
{
if(j-온도
fprintf(fp,"");
그밖에
fprintf(fp,"%3d",j-temp);
if(j%7==0)
fprintf(fp,"n");
}
}
fclose(fp);
0을 반환합니다;
}
void main()
{
연도;
printf("n연도(XXXX)"를 입력하세요);
scanf("%d",&연도);
PrintAllYear(연도);
}
위 내용은 저는 모든 분들께 조언을 구하고 싶습니다. C 언어를 사용하여 텍스트 파일을 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!