c语言文件读写 实例
有一个名为a的txt文件,内容为29341345234575232319要求从中读出数据到数组B[i]中,再将B[i]中的数前后调换处理后保存在一个名为b的txt文件中,...
有一个名为a的txt文件,内容为
29 34 13 45 23 45 75 23 23 19
要求从中读出数据到数组B[i]中,再将B[i]中的数前后调换处理后保存在一个名为b的txt文件中,
详细点,谢谢了!!! 展开
29 34 13 45 23 45 75 23 23 19
要求从中读出数据到数组B[i]中,再将B[i]中的数前后调换处理后保存在一个名为b的txt文件中,
详细点,谢谢了!!! 展开
4个回答
展开全部
C语言标准库提供了一系列文件I/O函数用于文件操作,比如fopen()用于打开文件、fread()、fwrite()用于读写文件、fseek()用于设置操作位置等等,一般C语言教程上都有文件I/O一章,细致内容,可以找本教科书学习一下。 下面的示例,是向名为1.txt的文件附加hello world字符串。
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fp = fopen("1.txt", "a+");
if (fp==0) { printf("can't open file\n"); return 0;}
fseek(fp, 0, SEEK_END);
char sz_add[] = "hello world\n";
fwrite(sz_add, strlen(sz_add), 1, fp);
fclose(fp);
return 0;
}
展开全部
用freopen
如下:
#include<stdio.h>
int s[100];
int main()
{
freopen("a.txt","r",stdin);
freopen("b.txt","w",stdout); //建议使用 .in文件 和 .out文件,在编译器里就能打开(如data.in , data.out)
/*其中,这两种格式是固定的
输入就是:freopen("文件名",“r”/*r代表read,只读*/,stdin/*必须这么写*/)
输出:freopen("文件名",“w”/*w代表write,写入*/,stdout/*必须这么写*/)
之后就按正常程序写就可以了
*/
for( i = 0 ;i < 10 ; i ++)
{
scanf("%d",&s[i]);
}
/*顺序自行解决*/
for( i = 0 ; i < 10 ; i++)
{
printf("%d",s[i]);
}
/*这两步自动读入和输出到文件中*/
return 0;
}
如下:
#include<stdio.h>
int s[100];
int main()
{
freopen("a.txt","r",stdin);
freopen("b.txt","w",stdout); //建议使用 .in文件 和 .out文件,在编译器里就能打开(如data.in , data.out)
/*其中,这两种格式是固定的
输入就是:freopen("文件名",“r”/*r代表read,只读*/,stdin/*必须这么写*/)
输出:freopen("文件名",“w”/*w代表write,写入*/,stdout/*必须这么写*/)
之后就按正常程序写就可以了
*/
for( i = 0 ;i < 10 ; i ++)
{
scanf("%d",&s[i]);
}
/*顺序自行解决*/
for( i = 0 ; i < 10 ; i++)
{
printf("%d",s[i]);
}
/*这两步自动读入和输出到文件中*/
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define size 1000;
#include <stdio.h>
int main(){
int fd1= open("a",O_RDONLY,0);
int fd2 = open("b",O_RDWR|O_CREAT,00777);
cha buf1[size];
int n = read(fd1,buf1,size);
int i,num;
for(i = 0;i < size;i ++){
if(buf1[i] == '\0'){
break;
}
}
char tmp;
for(j = 0;j <= (i - 1)/2;j ++){
tmp = buf1[j];
buf1[j] = buf1[i - 1 -j];
buf1[i - 1 - j] = tmp;
}
write(fd2,buf,n);
}
#include <stdio.h>
int main(){
int fd1= open("a",O_RDONLY,0);
int fd2 = open("b",O_RDWR|O_CREAT,00777);
cha buf1[size];
int n = read(fd1,buf1,size);
int i,num;
for(i = 0;i < size;i ++){
if(buf1[i] == '\0'){
break;
}
}
char tmp;
for(j = 0;j <= (i - 1)/2;j ++){
tmp = buf1[j];
buf1[j] = buf1[i - 1 -j];
buf1[i - 1 - j] = tmp;
}
write(fd2,buf,n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
#include "stdlib.h"
int main(void){
FILE *p;
int b[10],i;
p = fopen("E:\\Csource\\read\\Debug\\a.txt","r");
if( p == NULL){
fprintf(stderr,"Error on open file a.txt\n");
exit(EXIT_FAILURE);
}
for(i=0; i<10; fscanf(p," %d",&b[i++]));
fclose(p);
p = fopen("E:\\Csource\\read\\Debug\\b.txt","w");
if( p == NULL){
fprintf(stderr,"Error on open file b.txt\n");
exit(EXIT_FAILURE);
}
for(i=9; i>=0; fprintf(p,"%d ",b[i--]));
fclose(p);
return 0;
}
#include "stdlib.h"
int main(void){
FILE *p;
int b[10],i;
p = fopen("E:\\Csource\\read\\Debug\\a.txt","r");
if( p == NULL){
fprintf(stderr,"Error on open file a.txt\n");
exit(EXIT_FAILURE);
}
for(i=0; i<10; fscanf(p," %d",&b[i++]));
fclose(p);
p = fopen("E:\\Csource\\read\\Debug\\b.txt","w");
if( p == NULL){
fprintf(stderr,"Error on open file b.txt\n");
exit(EXIT_FAILURE);
}
for(i=9; i>=0; fprintf(p,"%d ",b[i--]));
fclose(p);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询