C语言程序从文件中读取字符串
编写了一个简易的ATM机程序,用到了文件指针,将所有的账户信息都放在一个TXT文档里面,其中姓名、性别是用的字符串,账号什么的是用的整形变量。问题来了:运行一次之后将操作...
编写了一个简易的ATM机程序,用到了文件指针,将所有的账户信息都放在一个TXT文档里面,其中姓名、性别是用的字符串,账号什么的是用的整形变量。问题来了:运行一次之后将操作后的数据保存在TXT之后,第二次运行程序不能从txt中读取到字符串(姓名,性别)!这里不能上传代码文件,希望给位大神不吝赐教,有心人加QQ:153435836(注明百度知道),到时候将代码文件发给大神,求大神修改!
展开
展开全部
学了结构体了没?
学过结构体就用以下方法读写文件
/* 写文件 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 用户信息结构体
struct user_info{
char name[30]; // 姓名
char sex[10]; // 性别
int id; // 帐号
};
int main(){
FILE *fp = fopen("user_info.txt","w+b"); // 创建一个文件
if(fp == NULL){ // 如果创建文件失败
perror("fopen()");
return -1;
}
struct user_info u;
strcpy(u.name, "xiaoming");
strcpy(u.sex, "boy");
u.id = 12345678;
fwrite(&u, sizeof(u), 1, fp); // 把信息写入到文件中
close(fp);
return 0;
}
/* 读文件 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct user_info{
char name[30]; // 姓名
char sex[10]; // 性别
int id; // 帐号
};
int main(){
FILE *fp = fopen("user_info.txt","r+b"); // 打开一个文件
if(fp == NULL){ // 如果打开文件失败
perror("fopen()");
return -1;
}
struct user_info u;
fread(&u, sizeof(u), 1, fp); // 把读取文件
// 打印读取的信息
printf("name:%s sex:%s id:%d\n", u.name, u.sex, u.id);
close(fp);
return 0;
}
学过结构体就用以下方法读写文件
/* 写文件 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 用户信息结构体
struct user_info{
char name[30]; // 姓名
char sex[10]; // 性别
int id; // 帐号
};
int main(){
FILE *fp = fopen("user_info.txt","w+b"); // 创建一个文件
if(fp == NULL){ // 如果创建文件失败
perror("fopen()");
return -1;
}
struct user_info u;
strcpy(u.name, "xiaoming");
strcpy(u.sex, "boy");
u.id = 12345678;
fwrite(&u, sizeof(u), 1, fp); // 把信息写入到文件中
close(fp);
return 0;
}
/* 读文件 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct user_info{
char name[30]; // 姓名
char sex[10]; // 性别
int id; // 帐号
};
int main(){
FILE *fp = fopen("user_info.txt","r+b"); // 打开一个文件
if(fp == NULL){ // 如果打开文件失败
perror("fopen()");
return -1;
}
struct user_info u;
fread(&u, sizeof(u), 1, fp); // 把读取文件
// 打印读取的信息
printf("name:%s sex:%s id:%d\n", u.name, u.sex, u.id);
close(fp);
return 0;
}
追问
大神,能不能加QQ,我将我的代码发给你帮你看看
追答
QQ 2089256306
请回答 : 编程爱好者
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询