c关于文件读取的报不能read的有关问题
c关于文件读取的报不能read的问题
小弟想实现对一个文件内容的统计,但是总是报地址不能read的错误,望大神帮忙解决下。
#include<stdio.h>
#include<iostream>
using namespace std;
void main()
{
FILE *fp;
char a[150];
char b[30];
int x1;
int j,j1,j2;
int i1;
j1=0;
j2=0;
for(j=0;j<150;j++)
a[j]='<';
// printf("%s\n",a[1]);
for(j=0;j<30;j++)
b[j]='<';
// printf("%s\n",b[1]);
fp = fopen("C:\\Result.cov", "r+");
if(fp!=NULL)
{
while(!feof(fp))
{
if(fgets(a, 500, fp)!=NULL)
{
x1=0;
if((a[0]>='0')&&(a[0]<='9'))
{
// printf("%s\n",x1);
while(a[x1]!='<'&&a[x1]!='\n')
x1++;
j1=x1+1;
if(a[j1]='_')
j1++;
// printf("%s",j1);
while(a[x1]!='>'&&a[x1]!='\n')
x1++;
j2=x1;
// printf("%s\n",j2);
for(i1=0;i1<(j2-j1);i1++)
{
b[i1]=a[j1];
j1++;
}
printf("%s\n",b[0]);
}
}
}
}
fclose(fp);
}
另问:如何访问fgets返回的数据,如fgets(a, 500, fp)之后,a[0]可以访问么?
------解决方案--------------------
printf("%s",a[0])
你这样是想输出什么?输出数组a里的字符串还是数组a里的第一个字符?
如果要输出数组a里的第一个字符的话,应该这样:
printf("%c",a[0])
------解决方案--------------------
见楼上回答!
小弟想实现对一个文件内容的统计,但是总是报地址不能read的错误,望大神帮忙解决下。
#include<stdio.h>
#include<iostream>
using namespace std;
void main()
{
FILE *fp;
char a[150];
char b[30];
int x1;
int j,j1,j2;
int i1;
j1=0;
j2=0;
for(j=0;j<150;j++)
a[j]='<';
// printf("%s\n",a[1]);
for(j=0;j<30;j++)
b[j]='<';
// printf("%s\n",b[1]);
fp = fopen("C:\\Result.cov", "r+");
if(fp!=NULL)
{
while(!feof(fp))
{
if(fgets(a, 500, fp)!=NULL)
{
x1=0;
if((a[0]>='0')&&(a[0]<='9'))
{
// printf("%s\n",x1);
while(a[x1]!='<'&&a[x1]!='\n')
x1++;
j1=x1+1;
if(a[j1]='_')
j1++;
// printf("%s",j1);
while(a[x1]!='>'&&a[x1]!='\n')
x1++;
j2=x1;
// printf("%s\n",j2);
for(i1=0;i1<(j2-j1);i1++)
{
b[i1]=a[j1];
j1++;
}
printf("%s\n",b[0]);
}
}
}
}
fclose(fp);
}
另问:如何访问fgets返回的数据,如fgets(a, 500, fp)之后,a[0]可以访问么?
------解决方案--------------------
printf("%s",a[0])
你这样是想输出什么?输出数组a里的字符串还是数组a里的第一个字符?
如果要输出数组a里的第一个字符的话,应该这样:
printf("%c",a[0])
------解决方案--------------------
见楼上回答!