程序设计题
从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。
#include<stdio.h> #define N int main(){ FILE *fp; char ch; fp = fopen("file.txt","w"); if(fp == NULL){ printf("创建文件失败"); return -1; } ch = getchar(); while (ch != EOF){ fputc(ch,fp); ch =getchar(); } fclose(fp); fp = fopen("file.txt","r"); if(fp == NULL){ printf("打开文件失败"); return -1; } ch = fgetc(fp); while(ch !=EOF){ putchar(ch); ch =fgetc(fp); } fclose(fp); return 0; }
#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include int main(void) { FILE* fp = NULL; char ch; // 打开文件用于读写。如果文件不存在,将创建文件。 if ((fp = fopen("D:\\OneDrive\\桌面\\test.txt", "wt+")) == NULL) { puts("打开文件失败"); exit(1); // 非0值表示异常退出 } // 从标准输入读取字符,直到遇到换行符('\n'),并写入文件 printf("请输入一行文本(以回车结束):\n"); ch = getchar(); while (ch != '\n' && ch != EOF) { fputc(ch, fp); ch = getchar(); } // 回到文件开头 rewind(fp); // 从文件读取字符,直到文件结束(EOF),并输出到标准输出 ch = fgetc(fp); while (ch != EOF) { putchar(ch); ch = fgetc(fp); // 注意这里应该使用fp作为参数,而不是ch } printf("\nEND\n"); // 关闭文件 fclose(fp); return 0; }
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ FILE *fp; char c; char str[20]; gets(str); puts(str); int len=strlen(str); fp=fopen("1.txt","r+"); memset(fp,0,sizeof(str)); fwrite(str,sizeof(char),len,fp); while((c=fgetc(fp))!=EOF){ printf("%c",c); } fclose(fp); return 0; }
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <string.h>
int main(void) { FILE* fp = NULL; char ch;
// 打开文件用于读写。如果文件不存在,将创建文件。 if ((fp = fopen("D:\\OneDrive\\桌面\\test.txt", "wt+")) == NULL) { puts("打开文件失败"); exit(1); // 非0值表示异常退出 }
// 从标准输入读取字符,直到遇到换行符('\n'),并写入文件 printf("请输入一行文本(以回车结束):\n"); ch = getchar(); while (ch != '\n' && ch != EOF) { fputc(ch, fp); ch = getchar(); }
// 回到文件开头 rewind(fp);
// 从文件读取字符,直到文件结束(EOF),并输出到标准输出 ch = fgetc(fp); while (ch != EOF) { putchar(ch); ch = fgetc(fp); // 注意这里应该使用fp作为参数,而不是ch }
printf("\nEND\n");
// 关闭文件 fclose(fp);
return 0; }
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("d:\\example\\string","wt+"))==NULL)
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
printf("input a string:\n");
ch=getchar();
while (ch!='\n')
fputc(ch,fp);
rewind(fp);
ch=fgetc(fp);
while(ch!=EOF)
putchar(ch);
printf("\n");
fclose(fp);
#include #define N 80 main(){ char str[N]; printf(“请输入一行字符:”); gets(str); FILE* fp = fopen(“text.txt”, “w+”); if(fp==NULL) exit(0); if(fputs(str, fp)){ printf(“写入失败!\n”); exit(0); } fgets(str, fp); puts(str); }
moonya 回复 moonya: 少个rewind()
#include #include int main(){ FILE *fp; if((fp=fopen("abc.docx","w"))==NULL){ printf("error"); exit(0); } char ch[10]; scanf("%s",ch); int i=0; while(ch[i]){ fputc(ch[i],fp); putchar(ch[i++]); } fclose(fp); }
#include <stdio.h> #include<stdlib.h> int main() { FILE * p= fopen("D:\text144.txt","w+"); char str[100]; scanf("%s",str); fprintf(p,"%s\n",str);//输入文件完毕 rewind(p); char ch= fgetc(p); while(ch!=EOF){ putchar(ch); ch = fgetc(p); } fclose(p);
return 1; }
还是中间fclose比较简单,中间用rewind要复杂一点
#include <stdio.h> int main() { FILE *fp; char ch, a[100]; fp = fopen("D:\\example\\2333.txt", "w"); scanf("%s", a); fprintf(fp, "%s", a); fclose(fp); fp = fopen("D:\\example\\2333.txt", "r"); while(1) { ch = fgetc(fp); putchar(ch); if(feof(fp)) { break; } } fclose(fp); return 0; }
#include<stdio.h> #include<stdlib.h> int main() { FILE *fp = fopen("D:/c1.txt","w"); if(fp == NULL) { printf("打开文件错误,程序退出"); exit(0); } char ch; printf("输入一行字符按ctrl+z 回车结束:\n"); while((ch = fgetc(stdin)) != EOF) { fputc(ch,fp); } fclose(fp); fp = fopen("D:/c1.txt", "r"); if(fp == NULL) { printf("打开文件错误,程序退出"); exit(0); } while((ch = fgetc(fp)) != EOF) { fputc(ch,stdout); } fclose(fp); return 0; }
#include <stdio.h> #include <stdlib.h> int main(){ FILE *fp; char filename[20]="D://test.txt"; if((fp=fopen(filename,"w"))==NULL){ printf("没有这个文件"); exit(0); } char ch; printf("请输入字符串以#结尾:\n"); ch=getchar(); while(ch!='#'){ putchar(ch); fputc(ch,fp); ch=getchar(); } fclose(fp); putchar(10); return 0; }
#include <stdio.h> #include <string.h> int main () { char ch; FILE *fp = fopen("inputString.txt", "w+"); if (fp!=NULL) { printf("请输入要保存的字符串:\n"); ch = getchar(); int count = 0; while (ch!='\n') { count++; fputc(ch, fp); ch = getchar(); } printf("本次一共写入了%个字符\n",count); printf("\n"); rewind(fp); ch = fgetc(fp); while (ch!=EOF) { putchar(ch); ch = fgetc(fp); } printf("\n"); } fclose(fp); return 0; }
#include <stdlib.h> #include "stdio.h" int main() { char ch; FILE *fp; if ((fp = fopen("d:/example/c1.txt", "a+")) == NULL) { exit(1); } while ((ch=getchar())!='\n'){ fputc(ch,fp); } rewind(fp); while ((ch= fgetc(fp))!=EOF){ putchar(ch); } fclose(fp); return 0; }
#include<stdio.h> int main(){ FILE *p; char str[100]; gets(str); if((p = fopen("D:\\example\\c1.txt", "w+")) == NULL){ printf("Open error!\n"); exit(0); } fputs(str,p); rewind(p); char c = fgetc(p); while(!feof(p)){ putchar(c); c = fgetc(p); } fclose(p); return 0; }
#include<stdio...
用户登录可进行刷题及查看答案
【解析】程序中第6行以读写文本文件方式打开文件string。程序第13行从键盘读入一个字符后进入循环,当读入字符不为回车符时,则把该字符写入文件之中,然后继续从键盘读入下一字符。每输入一个字符,文件内部位置指针向后移动一个字节。写入完毕,该指针已指向文件末。如要把文件从头读出,须把指针移向文件头,程序第19行rewind函数用于把fp所指文件的内部位置指针移到文件头。第20至25行用于读出文件中的一行内容。
登录后提交答案