为什么我要的是结构体具体的一个成员,但却输出了所有成员
struct Account{
char cardNum;
char userName;
char balance;
};
char ch;
FILE* fp;
if ((fp=fopen("D:\\华软2021-2022\\c2\\ATM模拟机\\accounts.txt", "r")) == NULL) {
printf("文件打开错误");
exit(0);
}
struct Account user;
fgets(&user, sizeof(user), fp);
fclose(fp);
puts(user.cardNum);
文件读取来后有'\0'分割?
写入的时候就要注意结构问题 了。写入也要把'\0写入进去' ba21 发表于 2022-4-8 00:02
文件读取来后有'\0'分割?
写入的时候就要注意结构问题 了。写入也要把'\0写入进去'
我是直接在txt文件里写的数据,怎么加'\0'? 吴贤炬 发表于 2022-4-8 00:38
我是直接在txt文件里写的数据,怎么加'\0'?
直接在txt文件里写的数据
那你就编程用空格实现分割。
ba21 发表于 2022-4-8 10:42
直接在txt文件里写的数据
那你就编程用空格实现分割。
其它正常,但输出cardNum会把名字也输出了,这是为什么 吴贤炬 发表于 2022-4-8 11:20
其它正常,但输出cardNum会把名字也输出了,这是为什么
直接在txt文件里写的数据
那你就编程用空格实现分割。
12313'\0'张瑚'\0'1000
讲得还不够清楚?既然你是手动写的txt,特殊字符'\0'自然没法写。哪你就只能编程处理空格。
C 字符串的输出用法遇'\0'结束。
puts函数输出用法遇'\0'结束。 ba21 发表于 2022-4-8 11:27
直接在txt文件里写的数据
那你就编程用空格实现分割。
感谢
页:
[1]