怎么用C语言在E盘上建立一个文本文件,将键盘上输入的若干个字符存入该文件中,但数字字符除外

帮我编一下程序,C-Free的... 帮我编一下程序,C-Free的 展开
 我来答
fqcjd80
2011-01-15 · TA获得超过477个赞
知道答主
回答量:389
采纳率:0%
帮助的人:319万
展开全部
以下当参考吧,c++写的--文本文件的输入输出,以及统计英文文本的行数字符数,单词数。改一下头文件,cout cin 改printf scanf 就是了。
方法还是可以借鉴的~

输入:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
string line;//不可以用char定义。
string filename;
fstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//输入的是D:\guo.txt
if(!file)
{
cout<<"file open fail"<<endl;
}
while(getline(file, line, '\r'))//从文件中读取字符串到输入输出流中。不可以换成get()。
{
cout<<line<<endl;
}
file.close();
return 0;
}

或者:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
static int line;
static int num;
char ch;
string stringline;
string filename;
ifstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//输入的是D:\guo.txt

if(!file)
{
cerr<<"file open fail"<<endl;
exit(-1);
}
else
{
cout<<"the artical is:"<<endl;
while(file.get(ch))
{
cout.put(ch);
}
file.close();
}
return 0;
}

输出:

#include<iostream>
#include<fstream>
using namespace std;
main()
{
char *line=new char;
fstream file;
file.open("d:\\guo.txt",ios::out|ios::trunc);
if(!file)
{
cerr<<"file open or creat error"<<endl;
exit(1);
}
while(cin.get(line,100))
{
file<<line<<endl;
if(cin.get()==' ')
break;
}
file.close();
}

或者:

#include<iostream>
#include<fstream>
using namespace std;
main()
{
char *line=new char;
fstream file;
file.open("d:\\guo.txt",ios::out|ios::trunc);
if(!file)
{
cerr<<"file open or creat error"<<endl;
exit(1);
}
do
{
cin.getline(line,100);
file<<line<<endl;
}
while(strlen(line)>0&&!cin.eof());
file.close();
}
C++ 统计英文文本 中的 行数 单词数
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
main()
{
int num0=0;
int num1=0;
int tempernum0=0;
int line=0;
int i;
string str;//不可以用char定义。
string filename;
fstream file;
cout<<"please input the filename:";
cin>>filename;
file.open(filename.c_str());//输入的是D:\guo.txt
if(!file)
{
cout<<"file open fail"<<endl;
}
cout<<"文本中的内容是:"<<endl;
while(getline(file, str, '\n'))
{
cout<<str<<endl;//文本输出
line++;//行数统计
int n=str.length();
if(n!=0)
tempernum0++;//统计非空行末尾的单词数目
string::iterator itr=str.begin();
for(i=0;i<n-1;i++)
{
if(itr[i]==' '&&itr[i+1]!=' ')
num0++;//字数统计,非空行末尾的单词没有被统计进去,最后要再加上非空行的行数。
}
for(i=0;i<n;i++)
{
if(itr[i]!=' ')
num1++;//字符数目统计
}
}
cout<<"行数是:"<<line<<endl;
cout<<"单词数是:"<<num0+tempernum0<<endl;
cout<<"字符数是:"<<num1<<endl;
file.close();
return 0;
}
caijunpeng1234
2011-01-14 · 超过34用户采纳过TA的回答
知道答主
回答量:212
采纳率:100%
帮助的人:86.7万
展开全部
看你是用在什么操作系统了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8a8090a63e7
2011-01-14 · TA获得超过155个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:315万
展开全部
#include <stdio.h>
int main(void)
{
FILE *fp;
char c;
if((fp=fopen("E://t1.txt","wt"))==NULL)
{
printf("\nerroropen");
exit(1);
}
while((c=getchar())!='\n')
fputc(c,fp);
fclose(fp);

return 0;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
icelights
2011-01-14 · TA获得超过782个赞
知道小有建树答主
回答量:198
采纳率:100%
帮助的人:147万
展开全部
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE *fp;
char ch;
if((fp=fopen("e:\\text.txt","a+"))== NULL)
printf("error\n");
else
{
ch=getchar();
while(ch != '\n' && (ch <'0' || ch >'9'))//按回车表示输入结束,且不把数字字符写入文件
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
}
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式