『壹』 在c語言中,舉例說明如何打開一個文本文件,並讀入文件中的數據
1.首先,使用VS構建一個新的空項目,然後直接單擊ok。
『貳』 c語言讀取數據
很簡單 我先佔個座
寫完了 超出了我預計時間 6分鍾
data.in內容
1 mul 2
4 div 1
5 add 6
8 sub 6
4 mod 3
運行結果
1 * 2
4 / 1
5 + 6
8 - 6
4 % 3
Press any key to continue
代碼
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
int i,sel;
char line[100]={0},num1[5]={0},num2[5]={0},op[5]={0},oplist[5][5]={"mul","div","add","sub","mod"};
FILE *fp=fopen("data.in","r");;
if (fp==NULL)
{
printf("Error 1\n");
return 1;
exit(0);
}
while (fgets(line,sizeof(line)-1,fp))
{
sscanf(line,"%[0-9] %s %[0-9]\n",num1,op,num2);
printf("%s ",num1);
sel=-1;
for (i=0;i<5;i++)
{
if (strcmp(oplist[i],op)==0)
{
sel = i;
break;
}
}
switch (sel)
{
case 0:printf("* ");
break;
case 1:printf("/ ");
break;
case 2:printf("+ ");
break;
case 3:printf("- ");
break;
case 4:printf("%% ");
break;
default:
printf("Error 2\n");
return 2;
}
printf("%s\n",num2);
}
}
『叄』 如何用c語言讀取文本文件中的多行數據
用循環存入數組比較簡單。
查下api有函數可以一行一行的讀寫的。
比如getline
先保存到一個字元串數組中。
然後再處理
『肆』 C語言怎樣讀取文本的每一行
可以使用fgets函數來實現。
1 函數名:
fgets
2 聲明形式:
char *fgets(char *buf, int bufsize, FILE *stream);
3 頭文件:
stdio.h
4 功能及參數說明:
從stream中讀取一行數據存到buf中。如果數據長度小於bufsize,那麼讀入整行數據,並將換行符轉換為字元串結束符\0。 如果數據長度超過bufsize,那麼只讀入bufsize大小的數據,並在結尾添加\0。
5 返回值:
成功,則返回第一個參數buf;
在讀字元時遇到end-of-file,則eof指示器被設置,如果還沒讀入任何字元就遇到這種情況,則buf保持原來的內容,返回NULL;
如果發生讀入錯誤,error指示器被設置,返回NULL,buf的值可能被改變。
『伍』 C語言中怎麼讀取TXT裡面所有的數據啊
你把
1001
ZXZ
80
1002
ZYB 85
1003 XXX 80
都定義在一個結構體里。在定義個一結構體變數。
然後用fread
fwtirte分別讀寫。
用
rb
和
rw的形式
因為fread
fwtirte是按數據塊的長度來處理輸出和輸入的
基本的思路是這樣
http://blog.sina.com.cn/u/1835498344
》
『陸』 C語言讀取文件數據
先用getline或fgets讀取數據到一個字元串中,這個串定義的長一點,保證夠用就行,如:
char
str[1024];
fgets(
str
,
sizeof(str),
fp
);
//fp為你打開的文件指針
然後調用for循環去讀取串的的數據,假設你的分隔符是空格,遍歷str,遇到空格就得到一個數據,然後繼續遍歷,直到str尾。
然後再去fgets數據,再遍歷,即可得到所有的數據。
『柒』 關於c語言如何讀取數據
你要讀哪3位?
連著一起的3位,還是獨立的3位
連一起: (val&(0x07<<n))>>n
0-2: (val&0x07)>>0
1-3: (val&0x0e)>>1
2-4: (val&0x1c)>>2
3-5: (val&0x38)>>3
4-6: (val&0x70)>>4
5-7L (val&0xe0)>>5
單獨第n位:
(val&(0x1<<n))>>n
『捌』 c語言讀取文件中的一條記錄如何從文件中讀取記錄
這里的記錄一般說的是結構體,即保存了一組信息。
將結構體寫入文件可使用fwrite函數,原型:
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);參數含義:
(1)buffer:是一個指針,對fwrite來說,是要獲取數據的地址;
(2)size:要寫入內容的單位元組數;
(3)count:要進行寫入size位元組的數據項的個數;
(4)stream:目標文件指針;
返回值:
實際寫入的數據項個數count。
註:文件需用二進制寫的方式打開,即:
fout = fopen("file address", "wb"); 從文件中讀取結構體信息,可使用fread函數,原型:
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;參數含義:
(1)buffer:用於接收數據的內存地址
(2)size:要讀的每個數據項的位元組數,單位是位元組
(3)count:要讀count個數據項,每個數據項size個位元組.
(4)stream:輸入流
返回值:
實際讀取的元素個數。
註:文件需用二進制讀的方式打開,即:
fin = fopen("file address", "rb"); fwrite和fread都是單純的寫、讀二進制數據,所以需要配合使用,以保證數據有效。用fwrite產生文件,之後配套的用fread來讀取文件。
『玖』 C語言如何讀取文本文件中的一行數據啊
用fstream(文件流),fstream
file
然後
file.getline(char*,int,char
a=『\n』)第一個是一個存儲字元串的指針,第二個是要讀取的最大長度,第三個是行結束符,默認是回車,函數說明就是當讀入的字元超過最大長度int或者遇到行結束符(『\n』)時就停止,而且這個很好用的(對於讀入和寫入),你看看文檔就會了,哈哈,給分啊。!!~~
『拾』 C語言在TXT文件中如何讀取任意行/個數據
使用fread函數
C 標准庫 - <stdio.h>
描述
C 庫函數size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)從給定流stream讀取數據到ptr所指向的數組中。
聲明
下面是 fread() 函數的聲明。
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
參數
ptr-- 這是指向帶有最小尺寸size*nmemb位元組的內存塊的指針。
size-- 這是要讀取的每個元素的大小,以位元組為單位。
nmemb-- 這是元素的個數,每個元素的大小為 size 位元組。
stream-- 這是指向 FILE 對象的指針,該 FILE 對象指定了一個輸入流。
返回值
成功讀取的元素總數會以 size_t 對象返回,size_t 對象是一個整型數據類型。如果總數與 nmemb 參數不同,則可能發生了一個錯誤或者到達了文件末尾。