① c語言如何讀取文件
C語言讀取文件的具體步驟如下:
我們需要准備的材料分別是:電腦、C語言。
1、首先我們打開需要讀取的文件,點擊打開左上角文件中的「另存為」。
② 關於c語言中讀文件的問題
不能,假如文件長度大於500位元組,剩下的內容將不會被讀取。因為第一次讀取後文件會被關閉,應將fclose(file)語句放在while外。
③ c語言讀取文本文件
1、C語言標准庫提供了一系列文件操作函數。文件操作函數一般以f+單詞的形式來命名(f是file的簡寫),其聲明位於stdio.h頭文件當中。例如:fopen、fclose函數用於文件打開與關閉;fscanf、fgets函數用於文件讀取;fprintf、fputs函數用於文件寫入;ftell、fseek函數用於文件操作位置的獲取與設置。
2、常式:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打開輸入文件
FILE*fp2=fopen("output.txt","w");//打開輸出文件
if(fp1==NULL||fp2==NULL){//若打開文件失敗則退出
puts("不能打開文件!");
rturn0;
}
fscanf(fp1,"%d",&a);//從輸入文件讀取一個整數
b=fgetc(fp1);//從輸入文件讀取一個字元
fgets(c,100,fp1);//從輸入文件讀取一行字元串
printf("%ld",ftell(fp1));//輸出fp1指針當前位置相對於文件首的偏移位元組數
fputs(c,fp2);//向輸出文件寫入一行字元串
fputc(b,fp2);//向輸出文件寫入一個字元
fprintf(fp2,"%d",a);//向輸出文件寫入一個整數
fclose(fp1);//關閉輸入文件
fclose(fp2);//關閉輸出文件,相當於保存
return0;
}
④ 用C語言如何讀文件
#include <stdio.h>
#include <dir.h>
int main(void)
{
struct ffblk ffblk;
int done;
printf("Directory listing of *.*/n");
done = findfirst("*.*",&ffblk,0);
while (!done)
{
printf(" %s/n", ffblk.ff_name);
done = findnext(&ffblk);
}
return 0;
}
把它放在目錄下,運行即可!註:若沒有dir.h,就換個編譯器,像DEVCPP,那頭文件vc沒有!
⑤ 怎麼往用C語言根據條件取文件的內容
序可以正常完成你的要求,不過你的文件con.conf這文件名我這里無法建立,所以改成con.txt
#include <stdio.h>
int main(){
FILE *fp1,*fp2;
char str[81],*p,*s;
if ((fp1 = fopen("con.txt", "r")) == NULL)
exit(1);
if ((fp2 = fopen("conout.txt", "w")) == NULL)
exit(1);
while(1){
fgets(str,80,fp1);
if(feof(fp1))
break;
if(str[0]!='#'||str[0]!='\n'||str[0]!='\r'){
p=strtok(str,"=");
if(p==NULL)
continue;
p=strtok(NULL,"#");
s=p;
if(s){
fprintf(fp2,"%s\n",s);
printf("%s\n",s);
}
}
}
fclose(fp1);
fclose(fp2);
getchar();
}
運行結果,out文件里的內容
192.168.0.1
12000
username
pasword
⑥ C語言如何讀取文件
文件流指針應打文件,要同操作兩文件,所要用兩文件流指針
,像要同操作兩箱.
程序理解:
兩箱,fp1,fp2;
打箱fp1,fp2,拿1024東西看,同放第二箱fp2,至箱東西完全拿,關閉兩箱.
例都差,看看stdlibf函數,C文件操作:
FILL
*pf;
//聲明指針,指針數組
FILE
pf[2]
或
FILE
**pf;
pf
=fopen();
fread()
or
fwrite()
...
...
//操作文件
fclose(pf)
//關閉文件
⑦ C語言讀文件
#include <stdio.h>
#include <stdlib.h>
int main () {
FILE *fp;
long L;
char *buff;
size_t n,i;
fp = fopen ( "abc.txt" , "rb" ); // 打開文件
if (fp==NULL) {printf ("open error"); return 0;}
fseek (fp , 0 , SEEK_END); // 找到文件尾
L = ftell (fp); // 測長度
rewind (fp); //迴文件頭部
buff= (char*) malloc (sizeof(char)*L); //動態分配
if (buff == NULL) {printf("alloc error"); return 0;}
n = fread (buff,1,L,fp); //讀入整個文件
if (n != L) {printf("read error\n");return 0;}
fclose (fp);
for (i=0;i<n;i++) {
printf("%c",buff[i]); // 列印出來
}
free (buff);
return 0;
}
⑧ c語言如何讀取文件
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int times;
int num[100];
cout<<"請輸入您要輸入的數字的個數:";
cin>>times;
//cout<<"您剛才輸入的數字為:"<<times<<endl;
for (int i=0;i<times;i++)
{
cout<<"請輸入第"<<i+1<<"個數字:";
cin>>num[i];
//cout<<"您輸入的數字為:"<<num<<endl;
FILE* file=fopen("num.bin","ab");//追加打開二進制文件
fwrite(&num[i],sizeof(int),1,file);
fclose(file);
}
cout<<endl<<"文件num.bin已保存。您剛才輸入的數字已自動添加到該文件末尾。"<<endl;
cout<<"請注意:該文件為二進制文件。"<<endl;
////////////////////////////////////讀文件
cout<<"num.bin文件中num[i]的值如下:"<<endl;
for(int j=0;j<times;j++)
{
FILE* fp=fopen("num.bin","ab");//追加打開二進制文件;
fwrite(&num[j],sizeof(int),1,fp);
cout<<"您之前輸入的第"<<j+1<<"個數字為:"<<num[j]<<endl;
fclose(fp);
}
return 0;
}
//朋友,你可能沒有明白fread 和fwrite 的作用,他們的作用是將數據塊中的變數的值保存起來,到用時再拿出來引用!,而你的寫入函數,雖然能運行,但毫無意義科為,只是將num的值,不停地存儲了times次,而且一直都在更換num的值
還望仔細品味一下!!!!!!
==========================================================Mr_Computer
⑨ C語言文件讀取
你好!!
fscanf 函數,讀文件的時候,是遇到空格結束一次讀取的,你文件每行記錄不確定;
不能批量格式讀取了,只能採用每次讀取一個的方式完成!
⑩ C語言讀取文件
循環條件不一定要與i有關,這里可以是判斷文件是否結束的表達式,如fp是指向要讀取的文件的指針,條件可以是!feof(fp)
feof()是判斷文件是否結束的函數,如果文件結束(遇到結束標志)則返回1否則返回0,因此文件未結束時!feof(fp)值為1,循環繼續