求助:文件中字符串转数字
用vc写程序,读取一个文本文件,该文本文件内容如下: 400.13 25.49
402.16 24.68
404.20 24.38
406.23 24.11
408.26 23.59
410.29 22.72
412.32 22.57
414.34 22.11
416.37 21.93
418.39 21.64
420.41 21.20
422.42 21.08
424.44 21.15
426.45 20.98
428.46 20.96
430.47 21.05
总共740行。我将这些字符读取到字符数组后,将‘.’删掉,相当于将各数字乘100,然后希望将得到的字符串数组中各字符数字,分别转成long型数字,以备计算处理用。小弟试了几次都没成功,哪位大哥能指点一下,最好是有代码。这几天太郁闷了,请大家帮忙啊。
我用void CharToNumber(char*image,char **data,long *number)
{
///将符号'.'删除掉
for(int ii=0;ii<=strlen(image);ii++)
{
if(image[ii]=='.')
image[ii]=image[ii+1];
}
int count=0; //非空格个数
char *tempt; //暂时存空格分开的数字字符串
int k=0,t=0;
for(int i=0,j=0;i<=strlen(image);i++)
{
if(image[i]==' '&&image[i+1]!=' ')
{
do
{
count++;
tempt[t]=image[i+1];
t++;
i++;
}while(image[i]==' '||image[i]=='\n');
}
strncpy(data[k][8],tempt,count);
count=0;
k++;
t=0;
}
for( int r=0;r<=k;r++)
number[r]=atol(data[r][8]);
}
编译后两处错误: error C2664: 'strncpy' : cannot convert parameter 1 from 'char' to 'char *'
error C2664: 'atol' : cannot convert parameter 1 from 'char' to 'const char *'
头文件我都包括了。实在没办法了。 哪位有代码最好了。先谢了