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語言讀文件換行
代碼呢