ubuntu下对文件的读写操作
来源:互联网 发布:全球网络电视直播软件 编辑:程序博客网 时间:2024/06/05 09:15
一定要注意代码格式!(重要的话说在前面,不讲道理就让你wa到死)
单个字符的读取:
#include <stdio.h>#include <stdlib.h>int main(){FILE *fp = fopen("test1.txt", "r");if(fp == NULL){printf("open test.txt file failed\n");exit(0);}char ch;while ((ch = fgetc(fp)) != EOF)putchar(ch);fclose(fp);return 0;}
单个字符的写入:
#include <stdio.h>#include <stdlib.h>int main(){FILE *fp = fopen("test1.txt", "w");char ch;if(fp == NULL){printf("open test.txt file failed\n");exit(0);}while ((ch=getchar())!='\n')fputc(ch,fp);fclose(fp);return 0;}
数组或者结构体的一次读取:
#include <stdio.h>#include <stdlib.h>int main(){FILE *fp1;int i;struct student{char name[10];int age;char addr[15];}stu;if((fp1=fopen("test2.txt","rb"))==NULL){printf("不能打开文件");exit(0);}printf("读取文件的内容如下:\n");for (i = 0; i < 2; i++){fread(&stu,sizeof(stu),1,fp1);printf("%s %d %s\n",stu.name, stu.age, stu.addr);}fclose(fp1);return 0;}
对数组或者结构体的一次写入:
#include <stdio.h>#include <stdlib.h>int main(){int i;struct student{char name[10];int age;char addr[15];}stu;FILE *fp1 = fopen("test2.txt", "wb");if(fp1 == NULL){printf("不能打开文件");exit(0);}printf("请输入信息:\n姓名 年龄 地址:\n");for(i = 0; i < 2; i++){scanf("%s %d %s", stu.name, &stu.age, stu.addr);fwrite(&stu, sizeof(stu), 1, fp1);}fclose(fp1);return 0;}
有一点要注意一下,在你读取同一个文件下的时候有可能会出现中文乱码的情况,这种情况下在我实践下有两种解决方式,一种是
可以将读取的文件内容存入到一个新文件中,还有一种是要在读取的时候把“rb”格式改为“rb+”。
0 0
- ubuntu下对文件的读写操作
- linux下对文件的读写操作
- 对文件的读写操作
- Ubuntu下对文件的操作命令符
- Java 中对文件的读写操作
- java对excel文件的读写操作
- C#对*.ini文件的读写操作
- JAVA 中对文件的读写操作
- jdom对xml文件的读写操作
- Java 对xml文件的读写操作
- 对ini文件的读写操作
- 对plist文件的读写操作
- C#对*.ini文件的读写操作
- Java对properties文件的读写操作
- C#对ini文件的读写操作
- Java 对xml文件的读写操作
- 【Python】Python对文件的读写操作
- Android 对 properties文件的读写操作
- spring 针对 跨域调用的解决方案
- JPEGImageEncoder报Access restriction:错误 解决方案
- Ambari离线安装
- 工资类(数组)-手动输入
- ESP8266自定义用户目录
- ubuntu下对文件的读写操作
- 阻塞队列详解
- java IO流
- sockaddr_in , sockaddr , in_addr区别
- 剑指Offer_23_二叉搜索树的后序遍历序列
- director知识点
- Deep Hashing: A Joint Approach for Image Signature Learning阅读笔记
- nice validator ajax
- nginx的常用命令