A. 关于c语言中fscanf()函数如何读入文件中下一行的数据!!
错误
1.你的文件里的逗号是中文字符,
2.char * Non_H_atom[7];
这你只是定义了一个字串指针,没有分配空间,
如你要使用就要先分配空间给他,除了刚定义时可以直接赋值。
如char * Non_H_atom[7]={"aa","bb",....;}
改成
#include<stdio.h>
#include<string.h>
int main()
{ int Comp_Name;
int Ring_Num;
int N_H_Num;
int i;
FILE * fp;
int Bond_Num;
char *Non_H_atom[7];
if((fp=fopen("inoutdat.txt","r"))== NULL)
{ printf("Cannot open file.\n");
exit(0);
}
fscanf(fp,"%d,%d,%d",&Comp_Name,&N_H_Num,&Ring_Num);
printf("%d, %d, %d\n",Comp_Name,N_H_Num,Ring_Num);
Bond_Num=Ring_Num+N_H_Num-1;
printf("Bond_Num=%d\n",Bond_Num);
for(i = 0;i<N_H_Num;i++)
{
Non_H_atom[i]=(char *)malloc(5);
fscanf(fp,"%s,",Non_H_atom[i]);
}
for(i = 0;i<N_H_Num;i++)
{ printf("%s",Non_H_atom[i]);
free(Non_H_atom[i]);
}
fclose(fp);
system("pause");
}
B. 在C语言运行出来的黑框框中输入的时候怎么换行
看源程序,一般是回车键换行:
如果是其它数据,只需要修改数据类型。
C. c语言中怎么输入换行
C语言中实际上用任何方法(常规库函数)都无法获取回车。因为控制台是在你输入完一行并点下回车之后,把除了回车之外的字符一起送到程序输入缓存中的,你只能用变通的方法,比如一次获取一行、一个字符或一个数字,设置多个输入,那么回车后,它必然会进去下一个输入或者代码块。
例如:用两个scanf命令
scanf("%d",&a);
scanf("%d",&b);
这样就能实现回车后进入下一个输入或者代码块。
D. c语言中怎样在文件写入时换行
假设已经打开的文件句柄为fp
如果是文本文件,用如下语句写入换行
fprintf(fp,"\n");
如果是二进制文件,用如下语句写入换行
char ch[]="\n\r";
fwrite(ch,2,1,fp);
E. c语言读文件换行
代码呢