读书人

怎么对输入的字符串组进行判断

发布时间: 2012-02-13 17:20:26 作者: rapoo

如何对输入的字符串组进行判断
#include <stdafx.h>
#include <iostream>
using namespace std;
int main(0
{
char filename[]={0};
cout < < "请输入文件名 " < <endl;
cin> > filename;
FILE* fp = fopen(filename, "rb ");
FILE* nfp = fopen( "1.dat ", "wb ");
unsigned short buf=0x00;
if( fp )
{
bool flag = false;
int nRead = 0;
while (true)
{
nRead = fread(&buf,1,1,fp);
if (nRead!=1)
{
break;
}
if (flag)
{
fwrite(&buf,1,1,nfp);
}
else if (buf!=0x00)
{
fseek(fp,-1L,1);//指针前移一个字节
flag = true;
}
}
cout < < "转换成功 " < <endl;
}
else
{
cout < < "文件不存在! " < < endl;
}
return 1;
}

请问如何对cin输入的文件名进行判断的 必须输入的是 *.dat文件名

不好意思 只有10分了。

[解决办法]
学正则表达式吧。
=========================
杀鸡用牛刀啊。。。

直接读取了文件名以后判断最后4个字符是不是 ".dat "不就好了。。。
static int is_file_name_ok( char* fn ){
int len = strlen(fn);
if(len <=5)
return 0;
if((fn[len-1] == 't ' || fn[len-1] != 'T ') &&
(fn[len-2] == 'a ' || fn[len-2] == 'A ') &&
(fn[len-3] == 'd ' || fn[len-3] == 'D ') &&
fn[len-4] == '. ')
return 1;
return 0;
}


读书人网 >C++

热点推荐