1. 用c語言怎麼讀入一行行的數據
fread()函數是用來讀取二進制文件的,就是說為建立存儲的東西,就像內從內存里把那段數據塊直接搬過來一樣,而不是用記事本打開就能看到裡面的內容,只是一堆亂碼。你的文本文件,可以用fscanf()函數來讀取。
把
fread(&F[n],sizeof(double),1024,fp);
改為
fscanf(fp,"%lf",&F[n]);
即可
2. C語言,如何智能讀取一行的數字
很簡單啊,按回車讀取數據就可以了,當讀到回車時再進行計算就可以了。
int i,sum=0,cnt=0;
while(1)
{
scanf("%d", &i );
if ( getchar()=='\n')
{
if ( cnt > 0 )
printf("sum=%d\n", sum );
else
break;
sum=0;
cnt=0;
}
else
{
sum += i ;
cnt++ ;
}
}
3. c語言怎樣按行讀取
區分讀取的源,有如下兩種情況:
1 從標准輸入讀取,即stdin。
可以使用gets函數:
char * gets(char *str);
該函數會從標准輸入中讀取一行數據,直到讀到\n,並將\n替換為字元串結束符\0,讀取到的數據以字元串形式存於str中。
需要注意的是,使用gets函數時,需要確保str指向空間大小,必須超過任意一行的長度,否則會出現越界操作。有些編譯器會報gets是不安全的,就是這個原因。
2 從文件讀取。
對於一個被打開的文件,如果其是可讀的,那麼可以通過fgets函數實現按行讀取。
char *fgets(char *buf, int bufsize, FILE *fp);
功能與gets類似,只是源不同。fgets從fp中讀一行數據存到buf中,同時會判斷bufsize,如果一行數據的長度超過了bufsize,那麼只讀入bufsize長度的數據,確保不會溢出。否則讀取整行。
由於在C語言中,標准輸入stdin也是以文件指針形式存在的,所以gets可以用
fgets(str, bufsize, stdin);
替代,這樣代碼量稍多一些,但可以更安全。
4. 如何用c語言讀取txt文件中的其中一行
#include
"stdio.h"
#include
"string.h"
void
main()
{
int
n;
FILE
*fin;
char
s[25];
fin=fopen("c:\\a.txt","r");
fgets(s,25,fin);/*用fgets讀第一行到數組s中*/
n=strlen(s);
fseek(fin,n+1,SEEK_SET);/*將文件指針移到下一行*/
fgets(s,25,fin);/*讀取第二行的字元串*/
printf("%s",s);
}
這個是我寫的一個,如果你想讀到第n行的話,用一個for循環控制使文件指針移到第n行就行了
5. c語言輸入一行文本輸出一行文本
比較簡單的方法就是設個全局變數,參考代碼如下:
#include<stdio.h>
charstr[500];
char*GetText()
{
gets(str);
returnstr;
}
intmain()
{
puts(GetText());
return0;
}
6. c語言 讀一行
FILE *fin;
char namein[]="my_file.txt"; // 文件名
char *one_line; // 讀入的一行
int buff_size=120; //根據最長行字元定大小
if( ( fin = fopen(namein, "r") ) == NULL ) {
printf("can not open file %s\n",namein);
exit (-1);
};
one_line = (char *) malloc(buff_size * sizeof(char));
while ( fgets(one_line, buff_size,fin) !=NULL){
printf("I read: %s",one_line); // 讀一行打一行
};
fclose(fin);
------------
對每行進一步分析可以用
sscanf(one_line,"...",...);
7. c語言如何從文件中讀入一行數據
關鍵技巧:
每行數據個數隨機,可用
c
=
fgetc(fin);
ungetc(c,fin);
檢查是否讀到
換行符或文件結束符。
例如:
a.txt
1
2
3
45
56
6
7
8
9
10
至於記錄每行數據個數,存放到數組,等等,可以自己補充完善。
程序:
#include
<stdio.h>
int
main(
)
{
file
*fin;
int
a,c;
fin=fopen("a.txt","rw");
while(1){
c
=
fgetc(fin);
if
(c==eof)
break;
if
(c=='\n')
{printf("\n==========\n");
continue;};
ungetc(c,fin);
fscanf(fin,"%d",&a);
printf("%d
",a);
}
fclose(fin);
return
0;
}
8. c語言 讀取文件中某一行的前一行
1、用fgets函數可以讀取文件中某行的數據,某列數據就必須一個一個讀入每行的第幾個字元,再存入到一個字元串當中。
2、常式:
#include<stdio.h>
#include<string.h>
voidmain()
{
chara[100],b[100],c[100];
inti=3,j=4,k=0;//第三行,第四列
FILE*fp=fopen("data.txt","r");
while(fgets(c,100,fp)){//讀入每行數據
i--;
if(i==0)strcpy(a,c);//讀到第三行數據
b[k++]=c[j-1];//把每行的那列字元拷到b中
}
b[k]=0;
printf("第%d行數據:%s ",i,a);
printf("第%d列數據:%s ",j,b);
fclose(fp);
}
9. C語言如何讀取一行數據,以空格分開
可以使用strtok函數做分割單詞。
#include<string.h>
voidmain()
{
chars[]="192.168.0.26";
char*delim=".";
char*p;
printf("%s",strtok(s,delim));
while((p=strtok(NULL,delim)))
printf("%s",p);
printf(" ");
}
(9)c語言讀入一行擴展閱讀
在C++中strtok的使用
#include<iostream>
#include<cstring>
usingnamespacestd;
intmain()
{
charsentence[]="Thisisasentencewith7tokens";
cout<<"Thestringtobetokenizedis: "<<sentence<<" Thetokensare: ";
char*tokenPtr=strtok(sentence,"");
while(tokenPtr!=NULL){
cout<<tokenPtr<<endl;
tokenPtr=strtok(NULL,"");
}
//cout<<"Afterstrtok,sentence="<<tokenPtr<<endl;
return0;
}
10. C語言 如何一行行讀文件
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
charb[25];
//打開文件
FILE*fp;
fp=fopen("D:\a.txt","r");
//獲取文件內容,每次讀一個字元,包括空格
for(inti=0;i<25;i++)
//fscanf(fp,"%c",&b[i]);
fgets(&b[i],2,fp);
fclose(fp);
//顯示讀取到的內容
for(inti=0;i<25;i++)
printf("%c",b[i]);
}