| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 570 人关注过本帖
标题:我调试很久还不知道怎么回事?
只看楼主 加入收藏
tpengti
Rank: 2
等 级:论坛游民
帖 子:75
专家分:18
注 册:2010-5-9
结帖率:65.22%
收藏
已结贴  问题点数:20 回复次数:6 
我调试很久还不知道怎么回事?
#include <stdio.h>
#include <string.h>
 #include <conio.h>  


struct yonghu {                                                     /*个人注册信息*/  
char name[8];
char sex[4];
char cla[20];
 }stud, student[100];
 void save()
 { FILE *ip;   
if((ip = fopen("student3.txt","a+")) == NULL)
{   printf("不能打开这个文件\n");   return;  
}  
if(fwrite(&stud,sizeof(struct yonghu),1,ip) != 1)  

 printf("信息写入错误!"); fprintf(ip,"\n"); fclose(ip);     
 }  
 void du()
{
 FILE *fp; int i=0,w;
if((fp = fopen("student3.txt","r+")) == NULL)
{   printf("不能打开这个文件\n");   return;
 }
  while(!fp) {
  fread(&student[i],sizeof(struct yonghu),1,fp); i++; }
 }
 for (d = 0; d <= 14; d++)
 {  printf("%s\t%s\t%s",student[d].name[8], student[d].sex[4], student[d].cla[20]);
printf("\n");
 }   
}  
int main()
{  
int d;
 scanf("%s%s%s", stud.name, stud.sex, stud.cla);  
 save();   
du();  
}
搜索更多相关主题的帖子: 个人 
2010-12-25 10:36
JZY0801
Rank: 2
等 级:论坛游民
帖 子:25
专家分:36
注 册:2010-12-23
收藏
得分:0 
if(fwrite(&stud,sizeof(struct yonghu),1,ip) != 1)

你判断这个返回值对吗??是1还是sizeof(strcut yonghu)?
2010-12-25 10:44
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
顶下....



#include <stdio.h>
#include <string.h>
#include <conio.h>  


struct yonghu {                                                     /*个人注册信息*/  
    char name[8];
    char sex[4];
    char cla[20];
}stud, student[100];
void save()
{
    FILE *ip;   
    if((ip = fopen("student3.txt","a+")) == NULL)
    {
        printf("不能打开这个文件\n");   return;  
    }  
    if(fwrite(&stud,sizeof(struct yonghu),1,ip) != 1)  
        
        printf("信息写入错误!"); fprintf(ip,"\n"); fclose(ip);     
}  
void du()
{
    FILE *fp;
    int i=0,w,d;
    if((fp = fopen("student3.txt","r+")) == NULL)
    {
        printf("不能打开这个文件\n");   return;
    }
    while(!fp)
    {
        fread(&student[i],sizeof(struct yonghu),1,fp); i++;
    }
   
    for (d = 0; d <= 14; d++)
    {
        printf("%s\t%s\t%s",student[d].name[8], student[d].sex[4], student[d].cla[20]);
        printf("\n");
    }   
}  
int main()
{  
    int d;
    scanf("%s%s%s", stud.name, stud.sex, stud.cla);  
    save();   
    du();  
    return 0;
}



/*说句实话,格式太差,

            我给小改了下...
--------------------Configuration: aln - Win32 Debug--------------------
Compiling...
Skipping... (no relevant changes detected)
aln.cpp

aln.obj - 0 error(s), 0 warning(s)
*/
2010-12-25 11:38
zhaoya881010
Rank: 9Rank: 9Rank: 9
来 自:芒砀古郡
等 级:蜘蛛侠
威 望:1
帖 子:339
专家分:1177
注 册:2010-11-21
收藏
得分:0 
回复 2楼 JZY0801
它的这个if的返回值应该是根据最后一个ip为基准的

Go Go Go
2010-12-25 11:40
zhaoya881010
Rank: 9Rank: 9Rank: 9
来 自:芒砀古郡
等 级:蜘蛛侠
威 望:1
帖 子:339
专家分:1177
注 册:2010-11-21
收藏
得分:10 
程序我调试好了没错误了那到你的上面运行下测试结果
我这边没有你的测试数据
程序代码:
#include <stdio.h>
#include <string.h>
#include <conio.h> 
struct yonghu {                                                     /*个人注册信息*/ 
    char name[8];
    char sex[4];
    char cla[20];
}stud, student[100];

void save()
{
    FILE *ip;  
    if((ip = fopen("student3.txt","a+")) == NULL)
    {  
        printf("不能打开这个文件\n");   return; 
    } 
    if(fwrite(&stud,sizeof(struct yonghu),1,ip) != 1) 
       
        printf("信息写入错误!"); fprintf(ip,"\n"); fclose(ip);    
} 

void du()
{
    FILE *fp;
    int i;
    //int w;
    int d;
    i=0;
   
    if((fp = fopen("student3.txt","r+")) == NULL)
    {   printf("不能打开这个文件\n");   return;
    }
    while(!fp)
    {
        fread(&student[i],sizeof(struct yonghu),1,fp); i++;
       
    } 
    for(d=0;d<=14; d++)
    { 
        printf("%s\t%s\t%s",student[d].name[8], student[d].sex[4], student[d].cla[20]);
        printf("\n");
    }  
}

int main()
{ 
    //int d;
    scanf("%s%s%s", stud.name, stud.sex, stud.cla); 
    save();  
    du(); 
} 


Go Go Go
2010-12-25 11:50
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:0 
回复 5楼 zhaoya881010
我运行了下,
程序还是有问题。

道之所存,师之所存。
2010-12-25 13:18
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
程序代码:
#include <stdio.h>
#include <string.h>
#include <conio.h>
struct yonghu {                                                     /*个人注册信息*/
    char name[8];
    char sex[4];
    char cla[20];
}stud, student[100];

void save()
{
    FILE *ip; 
    if((ip = fopen("C://student3.txt","a+")) == NULL)
    { 
        printf("不能打开这个文件\n");   return;
    }
    if(fwrite(&stud,sizeof(yonghu),1,ip) != 1)
      
        printf("信息写入错误!"); fprintf(ip,"\n"); fclose(ip);   
} 

void du()
{
    FILE *fp=NULL;
    int i;
    //int w;
    int d;
    i=0;
  
    if((fp = fopen("C://student3.txt","r+")) == NULL)
    {   printf("不能打开这个文件\n");   return;
    }
    while(fread(&student[i],sizeof(yonghu),1,fp))
    {
        i++;
    }
    for(d=0;d<=14; d++)
    {
        printf("%s\t%s\t%s",student[d].name, student[d].sex, student[d].cla);
        printf("\n");
    } 
}

int main()
{
    //int d;
//     scanf("%s%s%s", stud.name, stud.sex, stud.cla);
//     save(); 
    du();
} 
可以读出来了  格式自己去控制

                                         
===========深入<----------------->浅出============
2010-12-25 13:35
快速回复:我调试很久还不知道怎么回事?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018379 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved