扬州市政府招标网:如何在C++中将将带有文字说明的文本文件中的数字部分读至变量

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 02:56:31
我的文本文件中的数据有文字说明,还有数字数据,我怎样做才能将其中的数字部分赋给不同的变量。
如我的文本文件格式为:
长度 34
管子直径 45
通道数 6
而我现在只想将34,45,6 分别赋给程序中的变量l,d,n
现急需答案,谢谢各位指点,在下感激不尽!!!!!!!!!!

给你个简单的读写文件的例子吧
正好刚才刚帮人写完一个程序
我又改了改给你看看吧
// zd_62.cpp : Defines the entry point for the console application.
//

#include <stdio.h>

int main(int argc, char* argv[])
{
int tin[3];
char str[3][30]={'0'};
FILE *tset;
int i;
if((tset=fopen("E:\\myfile.text","w+"))==NULL)
{
printf("can not open the file!\n");
return 0;
}
/*自己写入文件*/
fprintf(tset,"%s %d\n","长度",34);
fprintf(tset,"%s %d\n","管子直径",45);
fprintf(tset,"%s %d\n","通道数",6);
fseek( tset, 0L, SEEK_SET );
for(i=0;i<3;i++)
{
fscanf(tset,"%s %d",&str[i],&tin[i]);
}
fclose(tset);

for(i=0;i<3;i++)
{
printf("%s\t%d\t",str[i],tin[i]);
printf("\n");
}
return 0;
}

运行结果:
长度 34
管子直径 45
通道数 6
Press any key to continue

你给的文件格式中,好像所需要的数字都在每行的最右边,那么就可以
从文件中按行读取字符串,对每个字符串从右边开始寻找不就行了。
比如读取数值赋给d时,用一个字符型指针p指向字符串尾端,生成一个整型变量i,初始化为1,然后向左逐个判断*p是不是在'0'-'9'之间,是则将d加上i*(*p-'0'),然后i*=10,一直到*p不是在'0'-'9'之间时,就读完了d.