欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c输入输出到文件

程序员文章站 2022-04-09 16:53:02
...

我这个定义的是c++程序

输入

前面那个单词统计题

#include <iostream>
#include <map>
#include <vector>
#include <cstring>
#include <stdio.h>
#include <stdlib.h>//必须引用
#include <algorithm>

using namespace std;

int main()
{
    FILE *fp;
    map<string,int> maps;
    vector<string> vec;
    char ch[30];
    maps.clear();
    vec.clear();
    fp=fopen("e:\\a.txt","r");  /*假设a.txt在e盘根目录下,r是只读*/
	if(!fp)exit(0);
    while(fscanf(fp,"%s",ch)!=EOF)//输入有所不同
    {
        int len=strlen(ch);
        for(int i=0; i<len; i++)
        {
            ch[i]=towlower(ch[i]);
        }
        maps[ch]++;
        if(maps[ch]==3)
        {
            vec.push_back(ch);
        }
    }
    fclose(fp);//关闭流
    sort(vec.begin(),vec.end());
    for(int i=0; i<vec.size()&&i<10; i++)
    {
        printf("%s\n",vec[i].data());
    }
    return 0;
}


输出

将30000以内的素数写入到a.txt中

#include <iostream>
#include <math.h>
#include <stdio.h>
#include <cstring>
#include <stdlib.h>//必须引用
using namespace std;

int main()
{
    int i;
    int temp;
    FILE *fp;//定义一个文件指针
    fp=fopen("E:\\a.txt","w");//以只写的方式打开文件,前面的参数是文件路径,后面的参数是表示只写
    if(fp==NULL){//文件不存在,则结束
        exit(0);
    }
    else{
	    for (i=2; i<=30000; ++i)
	    {
	        int q=sqrt(i);
	        temp=0;
	        for(int j=2; j<=q; j++)
	        {
	            if (i%j==0)
	            {
	                temp=1;
	                break;
	            }
	        }
	        if(temp==0)
	        {
	            fprintf(fp,"%d,", i);//将结果输出到文件中
	          //  printf("%d ",i);//将结果输出到控制台
	        }
	    }
 	}
    return 0;
}