如题所述
#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) ; /* 当整个文件内容读取结束时,关闭文件指针 */
}
#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) ; /* 当整个文件内容读取结束时,关闭文件指针 */
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-05-21
#include<fstream>
#include<iostream>
#include<string>
using namespace std;
int main(){
fstream myfile("myname.txt",ios::in|ios::out);
string line;
if(myfile.fail()){
cerr<<"error oprening file myname!"<<endl;
exit(-1);
}
while(getline(myfile,line))
cout<<line<<endl;
}
#include<iostream>
#include<string>
using namespace std;
int main(){
fstream myfile("myname.txt",ios::in|ios::out);
string line;
if(myfile.fail()){
cerr<<"error oprening file myname!"<<endl;
exit(-1);
}
while(getline(myfile,line))
cout<<line<<endl;
}
第2个回答 2019-05-21
#include <stdio.h>
int main() {
FILE * srcfp;
char line[256];
if((srcfp=fopen("C:\\Users\\ly\\CLionProjects\\untitled2\\main.c", "r+")) == NULL){
printf("打开失败\n");
return 0;
}
while(fgets(line, 256, srcfp)!=NULL){
fputs(line, stdio);
}
fclose(destfp);
fclose(srcfp);
return 0;
}追答
int main() {
FILE * srcfp;
char line[256];
if((srcfp=fopen("C:\\Users\\ly\\CLionProjects\\untitled2\\main.c", "r+")) == NULL){
printf("打开失败\n");
return 0;
}
while(fgets(line, 256, srcfp)!=NULL){
fputs(line, stdio);
}
fclose(destfp);
fclose(srcfp);
return 0;
}追答
注掉一行,fclose(destfp)
追问哪一步是输出到屏幕