㈠ c语言怎样以文件的方式输入与输出
上机考试中的多是由fopen来进行文件操作的。。如果要从命令行中加入参数可以象这样int
main(int
argc,
char*
argv[])
通过argv参数传递变量
㈡ 如何用C语言打开已有文件并输出文件内容
给你个实例代码:
#include<stdio.h>
void main(){
FILE *fp;
char ch,filename[50];
printf("please input file's name;\n");
scanf("%s",filename);
fp=fopen(filename,"r");
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
求采纳
㈢ 如何用C语言输出文件
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章,可以找本教材进一步学习。
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语言输出一文件的内容
无法直接输出文件内容,需要先将文件读入到内存,再输出到标准输出上。
可以采用逐个字符读入,每读入一个输出一个的方式。
区分文件类型,操作有所不同。
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语言如何从文本文件中输出指定行文字
提供一个思路
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语言的文件输入输出操作
先把那个换行用getchar() 代替,否则那个换行符会被写到文件中。而后面的getchar()是你真正要写入文件的第一个字符
㈧ C语言中的文件输入输出怎么用
#include<stdio.h>
int main(int argc,char** argv)
{
//读入
FILE *fp;
int a;//这个用来保存要读入的数字
if((fp=fopen("a.in","rt"))==NULL)
{
printf("Cannot open file!");
return -1;;//不能打开文件,直接返回
}
fscanf(fp, "%d", &a);//读入数字。请确保文件内容正确
fclose(fp);
a=3;
//写入
if((fp=fopen("a.in","wt"))==NULL)
{
printf("Cannot open file!");
return -1;//不能打开文件,直接返回
}
fprintf(fp, "%d\n", a);//写入数字
fclose(fp);
return 0;
}