当前位置:首页 » 办公资讯 » c语言怎样从文件中输出内容

c语言怎样从文件中输出内容

发布时间: 2022-06-11 00:55:03

Ⅰ c语言中如何将保存文件中的信息输出来

你如果不知道文件的格式,那没法输出,你如果知道格式,把信息从文件中读出来,再依照格式来处理就能够了

Ⅱ C语言:在当前目录下的文件中查找记录并输出到屏幕,咋编

代码文本:

#include "stdio.h"

#include <string.h>

struct STU{

char nm[21],id[12];

int s[5];

};

int main(int argc,char *argv[]){

struct STU stu;

char ts[21];

FILE *fp;

if(fp=fopen("stu.dat","r")){

printf("Please enter a name or ID... ");

scanf("%20s",ts);

printf(" To find the result is: ");

while(fscanf(fp,"%s%s%d%d%d%d%d",stu.nm,stu.id,stu.s,stu.s+1,stu.s+2,stu.s+3,stu.s+4)!=EOF)

if(strcmp(ts,stu.nm)==0 || strcmp(ts,stu.id)==0){

printf(" %s %s%4d%4d%4d%4d%4d ",stu.nm,stu.id,stu.s[0],stu.s[1],stu.s[2],stu.s[3],stu.s[4]);

fclose(fp);

return 0;

}

printf("Not find... ");

fclose(fp);

}

else

printf("Open the file failure, exit... ");

return 0;

}

Ⅲ 如何用c语言输出一个文件中的数据

循环读取文件 显示在屏幕上即可。

FILE*fp=fopen("a.txt","r");
intc;
while((c=fgetc())!=EOF)
putchar(c);
fclose(fp);

这个是逐个字节读取输出的。

Ⅳ 怎样用C语言输出一文件的内容

无法直接输出文件内容,需要先将文件读入到内存,再输出到标准输出上。

可以采用逐个字符读入,每读入一个输出一个的方式。
区分文件类型,操作有所不同。

1 文件本身为文本文件,那么逐个直接输出即可。
FILE *fp = fopen("name.txt", "r");
int c;
while((c=fgetc(fp))!=EOF) putchar(c);

2 文件为二进制文件,直接输出结果会是乱码。这时需要输出二进制值,并自行换行,使得输出美观。
FILE *fp = fopen("name.bin", "rb");
int c;
int i = 0;
while((c=fgetc(fp))!=EOF)
{
printf("0x%02X,", c);//16进制方式输出字符。

i++;

if(i%8==0) printf("\n"); //每输出8个字符换行一次。

}

Ⅳ C语言中如何输出文件中的指定行全部内容

  1. 先用将文件中所有内容读到二维字符数组buf[][]中。

  2. 要输出第x行的内容,直接输出buf[x-1]即可

  3. 全部读入还有一个好处,当要修改文件内容时,先读入数组,在数组中做修改,再写回文件,远比在文件中直接修改方便得多。


  4. #include<stdio.h>

    #defineM10010
    #defineN256
    charbuf[M][N];

    intmain(){
    FILE*file;
    charfileName[50]="in.txt";//文件名

    //读入
    file=fopen(fileName,"r");//打开文件
    if(file==NULL)//打开文件失败
    return1;
    intn=0;
    while(fgets(buf[n],N,file)!=NULL){//依次读取文件内容,第n+1行读到buf[n]中,直到读到文件结束
    n++;
    }
    fclose(file);//关闭文件

    //显示第x行
    inti,x;
    scanf("%d",&x);//读入要显示的是第几行
    printf("%s",buf[x-1]);//显示该行

    //修改
    buf[0][0]='X';
    //...

    //写回
    file=fopen(fileName,"w");//打开文件
    if(file==NULL)//打开失败
    return1;
    for(i=0;i<n;i++)//buf中的内容写到文件
    fprintf(file,"%s",buf[i]);
    fclose(file);//关闭并保存文件
    return0;
    }

Ⅵ c语言如何读取文件并输出

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#include<stdio.h>
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
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);//关闭输出文件,相当于保存
return 0;
}

Ⅶ C语言如何从文本文件中输出指定行文字

提供一个思路
ascii表示的符号范围。
你可以判断字符串,是否为ascii码,是忽略。
不是,输出。
上面的变量还应该定义一些操作字符串的指针。
相关有关编码信息参考以下babybubble网络知道:
c/c++支持的是ascii,不过汉字编码中,gb2312与ascii是兼容的,所以可以在c中获得汉字的gb2312编码
gb2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序:
#include

#include

int
main()
{
char
a[5];
strcpy(a,"啊");
printf("%xh
%xh\n",(unsigned
char)a[0],(unsigned
char)a[1]);
return
0;
}
a[0]是“啊”字的高八位,a[1]是低八位,程序运行结果是a[0]=b0
a[1]=a1,用16进制表示的,所以“啊”字的gb2312编码是b0a1了~
输出时要强制转换成unsigned
char,不然就变成负数了,因为编码是以8位的无符号整数为单位的
当然也可以转成10进制啦,比如
int
b;
b=(unsigned
char)a[0]*256+(unsigned
char)a[1];
b即为汉字的10进制gb2312编码了

Ⅷ c语言怎么把东西写到文件里,再从文件输出到屏幕上

用WritePrivateproFileString()和GetPrivateproFileString()两个函数就可以了啊,不用打开文件,关闭文件,定位,移动文件指针之类的

为防止有人说C下不能用, 特写一个简单的

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>

structSTRUCT
{
charname[20];
floatchinese;
floatmath;
};

charfilename[]={"z:\1.txt"};
structSTRUCTs[3];
intcount=0;

intmain()
{
inti;
for(i=0;i<3;i++)
{
printf(" 请输入第%d个学生信息(姓名语文数学)用空格间隔: ",i+1);
fflush(stdin);
scanf("%s%f%f",s[i].name,&s[i].chinese,&s[i].math);
}
chartemp[3];
charstr[20];
WritePrivateProfileStringA("All","count","3",filename);
for(i=0;i<3;i++)
{
sprintf(temp,"%d",i+1);
WritePrivateProfileString(temp,"name",s[i].name,filename);
sprintf(str,"%.1f",s[i].chinese);
WritePrivateProfileString(temp,"chinese",str,filename);
sprintf(str,"%.1f",s[i].math);
WritePrivateProfileString(temp,"math",str,filename);
}
return0;
}

Ⅸ C语言怎样将文本文件中的内容读取打印

使用文件操作函数fopen,fscanf即可。
1.fopen的函数原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);

fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读数据。
rw+
读写打开一个文本文件,允许读和写。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
wt+
读写打开或着建立一个文本文件;允许读写。
at+
读写打开一个文本文件,允许读或在文本末追加数据。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b
字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。

返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。
2.例程:
#include<stdio.h>
#define F_PATH "d:\\myfile\\file.dat"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回错误代码
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //从文本中读入并在控制台打印出来
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}

Ⅹ C语言中,如何将文本文件的内容输出到屏幕

#include <stdio.h>
#define MAX 50 /* 文件名长度最大为 MAX 个字符 */
#define BUFFERLEN /* 文件缓冲区长度最大为 BUFFERLEN 个字符 */
void main( )
{
FILE * fpr ; /* 定义一个文件指针变量 fpr */

char my_filename[MAX], buffer[BUFFERLEN] ;

gets(my_filename) ; /* 从键盘上输入要打开的文本文件名 */

fpr = fopen(my_filename, "r" ) ; /* r:以文本方式打开文件 */

if( fpr == NULL ) /* 若文件打开失败,则输出错误信息,并直接退出程序 */

{

printf("Can't open %s for read !\n", my_filename ) ;

exit(1) ;

}

fgets(buffer, BUFFERLEN, fpr ) ; /* 从文本文件中读取一行数据 */

while( !feof(fpr) ) /* 当文件没有结束时,输出一行文本内容到屏幕 */

{

printf("%s", buffer) ;

fgets(buffer, 500, fpr) ; /* 再从文本文件中读取下一行数据 */

}

fclose(fpr) ; /* 当整个文件内容读取结束时,关闭文件指针 */

}

热点内容
马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:2181
应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1648
标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1945
湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:2014
开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1774
京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:2099
在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:2238
2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1876
知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1884
金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:2021