C语言 文件保存 【在线等】

来源:百度知道 编辑:UC知道 时间:2024/06/07 22:01:58
输入文件格式为.v 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

现在我用fgetc(fp)一个一个的读入字符,当读到.v开头的字符时,就要开始保存后面的数据,接下来的数据格式还有三位,四位,五位的,读入字符后,如何把它们组合成整数呢?请给出详细代码 谢谢

是只能用fgetc()读吧。我写了个,调试过了,
事例文件:.v 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
存在test.txt文本中。
我只读了一行,每读一个,输出一个,你根据需要改改。
#include"stdio.h"
#include"stdlib.h"
#include"math.h"
main()
{
FILE *fp;
char ch,str[5]={'\0'};//数组用来存读入的字符串例如‘50’
int i=0,j=0,n=0,data=0;//data为转换后的整型
fp=fopen("e:\\test.txt","r");
if(!fp)
{
printf("error!");
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
while(ch!=' '&&ch!='\n') //以空格和换行来区分每个整数
{
if(ch>='0'&&ch<='9')
{
str[i]=ch;
str[i+1]='\0';
}
i++;
ch=fgetc(fp);
}
n=i;
if(str[0]>='0'&&str[0]<='9')
{
for(j=0;j<n;j++)
{
data+=(int)((str[j]-'0')*pow(10.0,i-1));
i--;
}
prin