C语言/c++如何把数输入到txt文件中去

把1到100之间7的倍数找出来,并存入一个文本文件中。
#include<stdio.h>

void main()
{
int i;
for(i=1;i<=100;i++)
if(i%7==0)
printf("%d ",i);
}
现在的要求是不需要打印到屏幕上 而是要写进一个txt文件,请问怎么做?

C语言将数输入到文件中:

首先,定义一个文件指针:FILE  *fp;和一个数组:int  a[5];

然后,打开文件:fp = fopen ("filename.txt", "w"); //"w"是打开文件方式,将原有内容清空写入新数据,如果文件不存在则新建,类似的还有"r"只读打开(不能写入);"a"向文件中追加内容,原有内容不变,等等

最好再加入一个判断是否成功打开文件的if语句:

if (fp == NULL)

{

     printf ("文件打开失败!\n");

     exit (-1); //标记出错位置,需要包含头文件stdlib.h

}

把数据存入到数组里:

for (i=0; i<5; i++)

    scanf ("%d", &a[i]);

再把数组里的数一个一个的保存到txt文件中:

for (i=0; i<5; i++)

    fprintf (fp, "%d", a[i]); //fprintf 函数和printf 函数类似,只是输出的对象不同.fprintf 函数的输出对象是文件,而printf 函数的输出对象是屏幕

最后记得关闭文件: fclose (fp);

这样就把一组数保存到:filename.txt文件中了,下面是完整代码实现:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int i, a[5]; 
FILE *fp;

fp = fopen ("filename.txt", "w");
if (fp == NULL)
{
printf ("文件打开失败!\n");
exit (-1); //标记出错位置,需要包含头文件stdlib.h
}
printf ("输入要保存到文件里的5个数:\n");
for (i=0; i<5; i++)
scanf ("%d", &a[i]);
for (i=0; i<5; i++)
fprintf (fp, "%d ", a[i]);
printf ("这5个数已成功保存到filename.txt文件中\n");

return 0;
}

C++语言将数输入到文件中:

C++有关文件的操作要包含头文件fstream,因为头文件fstream中定义了一个用于处理输出的ofstream的类

声明ofstream变量(对象):ofstream  file;

声明一个变量(也可以是数组) int  a;

需要将ofstream对象与文件关联起来,使用open()方法:file.open("filename.txt");

将对象与特定的文件关联以后把数输入到文本中简单得就像把数打印到屏幕一样

如果要把变量a的值输入到文件中就象这样: file << a;

这样就把数保存到文件中了!

同C语言一样使用完以后利用close()将其关闭:file.close();

完整实现:

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
int a; 
ofstream  file;

file.open ("filename.txt"); //将对象与文件关联
cout << "输入一个数:";
cin >> a;
file << a;
cout << "成功将数保存到filename.txt文件中去了!" << endl;
file.close ();

return 0;
}
综上,C语言和C++语言将数保存到文件还是有点区别的,只要撑握好它们的使用方法都很容易的!

:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-28

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:

#include<stdio.h>
int a;
char b,c[100];
int main(){
    FILE * fp1 = fopen("input.txt", "r");//打开输入文件
    FILE * fp2 = fopen("output.txt", "w");//打开输出文件
    if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
        puts("不能打开文件!");
        rturn 0;
    }
    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);//关闭输出文件,相当于保存
    return 0;
}

第2个回答  推荐于2017-09-19
#include<stdio.h>

void main()
{
int i;
FILE *fp = NULL;
fp=fopen("test.txt", "w"); //test.txt为文件这里可以带路径
if (fp == NULL) {
printf("打开失败\n");
return;
}

for(i=1;i<=100;i++) {
if(i%7==0) {
fprintf(fp, "%d", i);
}
}

}

简单粘了一个例子, 想要进一步了解可以查找里面调用的相关函数。
#include<stdio.h>

main()

{

char *s="That's good news");
/*
定义字符串指针并初始化
*/

int i=617;
/*
定义整型变量并初始化
*/

FILE *fp;
/*
定义文件指针
*/

fp=fopen("test.dat", "w");
/*
建立一个文字文件只写
*/

fputs("Your score of TOEFLis", fp);/*
向所建文件写入一串字符
*/

fputc(':', fp);
/*
向所建文件写冒号
:*/

fprintf(fp, "%d\n", i);
/*
向所建文件写一整型数
*/

fprintf(fp, "%s", s);
/*
向所建文件写一字符串
*/

fclose(fp);
/*
关闭文件
*/

}本回答被提问者和网友采纳
第3个回答  2015-11-16
我是在CMD中输出的 找到你生成的EXE文件 在cmd命令行中找到文件后 输入
程序名.exe>文档名.txt 如果没有有这个文档 系统会自动创建
第4个回答  2014-06-06
ofstream ofs("D:\\" + 名称 + ".txt");
if (!ofs.bad())
{
ofs << "编程 猴子吃桃问题猴子第一天摘下若干个桃子当机吃了一半还不过瘾又吃了一个以后每天早上吃前天剩下的一半零一个第十天早上想吃发现就剩一个求第一天共摘了几个" << endl;
ofs.close();
}
http://msdn.microsoft.com/zh-cn/library/7z434859.aspx
相似回答