| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 558 人关注过本帖
标题:[求助]晕!READ问题?有点乱
只看楼主 加入收藏
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
结帖率:74.19%
收藏
 问题点数:0 回复次数:5 
[求助]晕!READ问题?有点乱


在调用int getwidth(int fp) 或者int getheight( int fp)后 函数中的变量值 发生了改变??????????

#include <fcntl.h>
#include <io.h>
#include <stdio.h>

int change()
{
printf("\nnumber change!\n");
return 55;
}

int open64kfile(char *filename)
{
int fp;

if((fp = open(filename, O_RDONLY | O_BINARY)) == -1)
{
printf("Can't find file ""%s"".",filename);
getch();
return 0;
}
return fp;
}

int getwidth(int fp)
{
int WIDTH;

lseek(fp, 18, SEEK_SET);
read(fp, &WIDTH, 4);

return WIDTH;
}

int getheight( int fp)
{
int HEIGHT;

lseek(fp, 22, SEEK_SET);
read(fp, &HEIGHT, 4);

return HEIGHT;
}

int outquestion(int a,int b,int c)
{
int fp;

printf("a=%d,b=%d,c=%d",a,b,c);
getheight(fp=open64kfile("end.bmp"));
change();
printf("a=%d,b=%d,c=%d",a,b,c);/*变量值怎么变拉?*/
close(fp);
}

main()
{
int a=1,b=2,c=3;

outquestion(a,b,c);
getch();
}
/*---------------------------------------------------------------------------------------*/

程序运行后在调用int getwidth(int fp) 或者int getheight( int fp)后无原无故的 需要键盘输入??


#include <fcntl.h>
#include <io.h>
#include <stdio.h>

typedef struct {
int fp;
int WIDTH;
int HEIGHT;
int fix;
int outx;
int outy;
int file_x1;
int file_y1;
int file_x2;
int file_y2;
int lucency;
}BmpFile;

int open64kfile(char *filename)
{
int fp;

if((fp = open(filename, O_RDONLY | O_BINARY)) == -1)
{
printf("Can't find file ""%s"".",filename);
getch();
return 0;
}
return fp;
}

int getwidth(int fp)
{
int WIDTH;

lseek(fp, 18, SEEK_SET);
read(fp, &WIDTH, 4);

return WIDTH;
}

int getheight( int fp)
{
int HEIGHT;

lseek(fp, 22, SEEK_SET);
read(fp, &HEIGHT, 4);

return HEIGHT;
}

main()
{
BmpFile partview;

partview.fp=open64kfile("end.bmp");

getheight(partview.fp);/*这里为什么需要键盘输入?
但是把#include <io.h>去掉就不用拉??????????*/

printf("skdfd");
getch();
}


搜索更多相关主题的帖子: READ 
2006-07-31 12:24
大水牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:233
专家分:0
注 册:2005-11-21
收藏
得分:0 

int HEIGHT;

int WIDTH;
改成指针试试;
int getwidth(int fp)
{
int *WIDTH;

lseek(fp, 18, SEEK_SET);
read(fp, WIDTH, 4);

return *WIDTH;
}

我用VC调试通过~


虽然现在的我什么都不明白,但总有一天,我将包容一切,让优秀变成一种习惯。。。。。。。。。。。。
2006-07-31 21:07
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

先谢拉
回去试试(放假拉 在家没上网

但是,问题是为什么?


还有个蠢问题

能告诉我怎么用VC做C程序么

怎么我的那个VC编译后不能运行啊

2006-08-01 16:39
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 

行拉


但是真想知道为什么!

2006-08-02 09:14
大水牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:233
专家分:0
注 册:2005-11-21
收藏
得分:0 
??什么想知道为什么啊?什么行了??

虽然现在的我什么都不明白,但总有一天,我将包容一切,让优秀变成一种习惯。。。。。。。。。。。。
2006-08-02 19:48
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
以下是引用大水牛在2006-8-2 19:48:00的发言:
??什么想知道为什么啊?什么行了??

“为什么”是指为什么我的那个程序会出现那种错误?尤其为什么是否能成功运行要和是否去掉#include<io.h>有关?


“行了”是说你的那个方法的确让程序成功达到我要的目的拉

2006-08-08 12:28
快速回复:[求助]晕!READ问题?有点乱
数据加载中...
 
   



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

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