你可以酱紫:
# include <stdio.h>
int main(void)
{
FILE *p;//文件指针
char ch[1000];//1000你可以改滴~
int i = 0;
p = fopen("", "r");//第一个字符串是你文件路径,路径中的\要写成\\,文件名必须带后缀
if (!p)//如果文件打开失败,fopen返回NULL(0)
{
printf("打开文件失败!\n");
exit(-1);
}
while(ch[i-1] != EOF || i=1000)//EOF为文件尾(end of file)
{
ch[i] = getc(p);//向p指向的流中读一个字符,并将文件指针后移一位,返回值为读到的字符的ASCII码
i++;
}
//下面你就可以对数组处理了
//或者你可以处理一行,读一行.但是我不知道你想咋处理,就这样写了
return 0;
}
追问谢谢,请问能详细说一下排序过程吗,最好有代码,比如比如text1:
2 100
1 50
3 30
变成text:
1 50
2 100
3 30
追答要是把第二个移到第一个.这样写
# include <stdio.h>
int main(void)
{
FILE *p;//文件指针
//char ch[1000];//1000你可以改滴~
int i = 0, j[3];
p = fopen("", "r");//第一个字符串是你文件路径,路径中的\要写成\\,文件名必须带后缀
if (!p)//如果文件打开失败,fopen返回NULL(0)
{
printf("打开文件失败!\n");
exit(-1);
}
/*while(ch[i-1] != EOF || i=1000)//EOF为文件尾(end of file)
{
ch[i] = getc(p);//向p指向的流中读一个字符,并将文件指针后移一位,返回值为读到的字符的ASCII码
i++;
}*/你如果是读数,就不能酱紫//这点我为啥没注释?因为这点怕你没看见
//下面你就可以对数组处理了
//或者你可以处理一行,读一行.但是我不知道你想咋处理,就这样写了
//下面是读数的
fscanf(p, "%d%d%d", j, j+1, j+2);//p指向的流输入俩整数,存到j[0], j[1], j[2]
rewind(p);//把指针移回文件头
fprintf(p, "%d\n%d\n%d", j+1, j, j+2);//把j[1], j[0], j[2]输出到p指向的文件.
fclose(p);
关闭文件,你不写这个可以,你只要想让这程序只能运行一回//同上
return 0;
}
本回答被网友采纳