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 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
- ¥15 钢筋实图交点识别,机器视觉代码
- ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
- ¥50 400g qsfp 光模块iphy方案
- ¥15 两块ADC0804用proteus仿真时,出现异常
- ¥15 关于风控系统,如何去选择
- ¥15 这款软件是什么?需要能满足我的需求
- ¥15 SpringSecurityOauth2登陆前后request不一致