你的意思是把txt文件中的四行分别读入结构吧:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct JiYin
{
char ID[100];
char jianji[100];
char fuhao[2];
char zhiliangzhi[100];
};
static int input(char *dst, int len, FILE *fp)
{
char buf[1024];
if(!fgets(buf, sizeof(buf), fp))return -1;
int slen = strlen(buf);
if (slen < 1)return 0;
if(buf[slen - 1]=='\n')buf[slen - 1] = '\0';
strncpy(dst, buf, len);
}
int main(int argc, char *argv[])
{
FILE *fp = fopen("input.txt", "r");
struct JiYin obj;
memset(&obj, 0, sizeof(struct JiYin));
input(obj.ID, sizeof(obj.ID) - 1, fp);
input(obj.jianji, sizeof(obj.jianji) - 1, fp);
input(obj.fuhao, sizeof(obj.fuhao) - 1, fp);
input(obj.zhiliangzhi, sizeof(obj.zhiliangzhi) - 1, fp);
printf("%s\n%s\n%s\n%s\n",
obj.ID, obj.jianji, obj.fuhao, obj.zhiliangzhi);
return 0;
}
追问
是这个意思,但是你的那个程序有error,运行不了,可不可以帮我改一下我的?
十分感谢。
追答我的程序我这里测试过了,可以正确运行啊,应该是打开的输入文件路径你和我的不一下,
你改一下我的程序中的这一行:
FILE *fp = fopen("input.txt", "r");
改成你输入文件所在的位置即可,如果你D盘下真有这个文件,那这行就改成:
FILE *fp = fopen("D:\\read1.txt", "r");
追问
这两行有错,
他说没;,还有个没定义。
但这些都有啊,我也是不懂了。
追答看来只能远程帮你调试了。
加我qq ,284304241
追问太感谢了