类型:转载 责任编辑:asp 日期:2007/03/01
就是写个函数
long copenfile(lpstr filename, lpstr openmode)
{
int handf;
if(strcmp(openmode, "r") == 0) {
handf = open(filename,o_rdonly);
}
else if(strcmp(openmode, "r+") == 0) {
handf = open(filename,o_rdwr);
}
else if(strcmp(openmode, "w") == 0) {
handf = open(filename,o_wronly | o_creat | o_trunc);
}
else if(strcmp(openmode, "w+") == 0) {
handf = open(filename,o_rdwr | o_creat | o_trunc);
}
return((long)handf);
}
可是就是与我期望的不一样。
希望谁能帮我把openmode写正确。
推荐阅读
能不能完整点啊,没头没尾的怎么看啊,什么问题也说一下么,运行后是什么结果
是不是这样一个问题:你要接受的字符是2位,你定义为2位,字符串结束符\0 就溢出了。
试试下面的:
int copenfile(lpstr filename, lpstr openmode)
{
int handf = 0 ;
if(strcmp(openmode, "r") == 0) {
handf = open(filename,o_rdonly);
}
else if(strcmp(openmode, "r+") == 0) {
handf = open(filename,o_rdwr);
}
else if(strcmp(openmode, "w") == 0) {
handf = open(filename,o_wronly | o_creat | o_trunc);
}
else if(strcmp(openmode, "w+") == 0) {
handf = open(filename,o_rdwr | o_creat | o_trunc);
}
return handf;
}
用_open代替open试试看。
.