나는 이름의 우선 순위 인 숫자로 된 텍스트 파일을 가지고 있습니다. 우선 우선 순위에 따라 텍스트 파일을 정렬하고 새 파일을 작성하려고합니다.두 번째 문자열로 배열 정렬
old
name1 1
name2 2
name3 3
name4 1
name5 1
name6 2
name7 1
name8 3
new
name 1 1
name4 1
name5 1
name2 2
name6 2
name3 3
name8 3
나는 배열 이전 TEXTFILE를 얻기 위해 달성,하지만 난 우선 순위에 따라 해당 배열을 정렬와 붙어있어. 나는 파일을 다시 반복해서는 안되며 배열을 정렬 한 다음 새 정렬 된 배열을 새 텍스트 파일에 쓰고 싶습니다. 어떻게 진행해야합니까 ??
코드
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int p;
char *name;
}names;
int main(void){
FILE *old= fopen("old.txt", "r");
FILE *new = fopen("new.txt", "w");
char n[10];
int i =0;
names *name= malloc(sizeof(names));
for(i; i<count; i++){
int p;
char *n= malloc(sizeof(char) * 4);
fscanf(old, "%s %i", n, &p);
names[i].name= n;
names[i].p= p;
}
int j=0;
for(i=0; i < count;i++){
}
return 0;
}
왜 C에서이 작업을 수행합니까? –
잘 했어. 조각으로 테스트 한 결과 퍼즐의 일부를 해결할 수 있습니다. 다음 단계는 데이터 정렬 방법을 단어로 설명하는 것입니다. 요소 1과 2가 정렬되어 있습니까? 요소 2와 3이 예순으로 정렬되어 있습니까? 요소 3이고 정렬됩니다 - 아니요. 그렇다면 무엇을 할 것인가 ... 그럼 당신이 다음에 프로그램하고 싶은 것을 말로 표현하십시오. 그런 다음 질문에 넣고 시도하십시오. – dcaswell
'fscanf (eerste, "% s % f", 이름, &prio);'조심하십시오.'prio'는'int'이고'float'을 스캔하고 있습니다. –