#include<stdio.h>
int Myisdigit(char c);
int main()
{
char s[10000];
char *p=s;
int a[100];
char filename1[20]="cfile4.txt";
char filename2[20]="cfile5.txt";
char temp;
int i=0;
int j=0;
FILE *fp1;
FILE *fp2;
fp1=fopen(filename1,"r");
fp2=fopen(filename2,"w");
if(fp1==NULL){
printf("cfile4.txt open error!");
return 1;
}
while(!feof(fp1)){ //读到文件结束的地方
temp=fgetc(fp1);
if(temp!=EOF){
s[i]=temp;
i++;
}
}
s[i]='\0'; //可以看成字符串
fclose(fp1);
fprintf(stdout,"%s\n",s); //先把读的内容输入到屏幕上
while(*p!='\0'){
int sum=0;
while(!Myisdigit(*p)){
if(*p=='-'){ //负号
p++;
while(Myisdigit(*p)){
sum=sum*10+(*p-'0');
p++;
if(!Myisdigit(*p)){
a[j]=-1*sum;
sum=0;
j++;
}
}
}
p++;
}
while(Myisdigit(*p)){
sum=sum*10+(*p-'0');
p++;
if(!Myisdigit(*p)){
a[j]=sum;
sum=0;
j++;
}
}
}
for(i=0;i<j;i++){ //将拿到的数字放到新文件中
if(i==j-1){
fprintf(fp2,"%d",a[i]);
}
else{
fprintf(fp2,"%d\n",a[i]);
}
}
fclose(fp2);
return 0;
}
int Myisdigit(char c)
{
if(c>='0'&&c<='9'){
return 1;
}
return 0;
}
有空再写成函数简化!
运行结果: