1条回答
- 依水寒 2018-12-01 13:08关注
你问题是:
1,你没有分行读入,分行读入用函数建议使用fgets,
2,读入的一行,对特殊字符进行处理。
3,每一行有很多信息,你的信息中并没有拆分,你如果是用空格作为分格符,但你的代码中并没有以空格作为分隔符来拆分的逻辑,拆分时可用strch或strstrint ParseFile(const char* pszFileName)
{
if( NULL == pszFileName || 0 == strlen(pszFileName)) return 0;
char sBufferLine[5120]={0};
FILE *pFile = NULL;pFile = fopen(pszFileName,"r");
if(pFile)
{
while( NULL != fgets(sBufferLine,sizeof(sBufferLine),pFile) )
{
/*add code here for :去提多余的空格,去掉一些换行符,回车符等*/
FixOneLineString(sBufferLine);/*ade code here for 将记录以分隔符拆分成字段插入至VECTOR中*/ } fflush(pFile); fclose(pFile);
}
else{
printf("读取文件失败:%s",pszFileName);
return -2;
}
return 0;
}/**********************************************************************
Description:将从文件中读取出的当前行做处理,去掉多余的格式分隔符如:/r,/n等
**********************************************************************/
void FixOneLineString(char *sFileBuf)
{
AllTrim(sFileBuf);
int len =strlen(sFileBuf);
if(len > 0)
{
if('\n' == sFileBuf[len-1])
{
if( len > 1 && '\r' == sFileBuf[len-2])
{ sFileBuf[len-2]='\0';}
else
{ sFileBuf[len-1]='\0';}
}
else if('\r' == sFileBuf[len-1])
{ sFileBuf[len-1]='\0'; }
}
}解决 无用评论 打赏 举报
悬赏问题
- ¥15 求帮我调试一下freefem代码
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图