查看读取的ascii是否是char>=0x30 && char <= 0x39 这个是0 - 9的十六进制ascii码值
#include
#include
int main(void)
{
FILE *fp, *numfp, *txtfp;
char fpname[100];
char input='\0';
//读取文件
gets(fpname);
fp=fopen(fpname, "r");
//打开写入文件
numfp=fopen("num.txt", "w");
txtfp=fopen("char.txt", "w");
//逐个读入
while(fscanf(fp, "%c", &input)==1)
{
if('\n'==input)
continue;
else if(isdigit(input))
{
fprintf(numfp,"%c",input);
}
else
{
fprintf(txtfp,"%c",input);
}
}
fclose(fp);
fclose(numfp);
fclose(txtfp);
return 0;
}
我这里说下算法,代码你自己写吧:
逐个检查字符串里每个字符,若在0~9说明是数字,若不是就是字母,然后将他们分别赋值给两个不同变量就可以将他们分开
你好!
这个字符去读取,然后去判断读取到的字符类型
不能去整行读取,整行读取后,也是要进行单个判断的
文本间有个空格就行了