这是我尝试保存到文件中的尝试。输入文件名后,它将保存具有该名称的文件,但不会在其中打印任何内容,我也无法理解为什么。
if (menuoption == 6)
{
printf("please enter a file name\n");
scanf("%s", filename);
filepointer = fopen(filename, "a");
if (filepointer == NULL);
{
printf("unable to open file name: %s\n", filename);
continue;
}
fprintf(filepointer, "decimal values:");
for (int i = 0; i < doubcount; i++)
{
fprintf(filepointer, "%lf \n", doubles[i]);
}
fprintf(filepointer, "\n");
fprintf(filepointer, "integer values: ");
for (int i = 0; i < intcount; i++)
{
fprintf(filepointer, "%d\n", ints[i]);
}
fprintf(filepointer, "\n");
}
答案 0 :(得分:0)
这里是我刚刚写的一个样本,向您展示如何使用C处理文件
#include <stdio.h>
int main(void){
char* filename;
FILE* fp;
printf("Enter a file name:\n");
scanf("%s", filename);
fp = fopen(filename, "w");
if(fp == NULL){
fprintf(stderr, "unable to open file name: %s\n", filename);
return -1;
}
fprintf(fp, "Testing\n");
fclose(fp);
}
首先,您应该在fopen
函数中使用“ w”而不是“ a”
fp = fopen(filename, "w");
您可以在此处http://man7.org/linux/man-pages/man3/fopen.3.html
了解有关打开文件的模式的信息。然后,您应该始终在读取或写入文件后关闭文件,因此请将此行添加到代码中
fclose(fp);
我希望这对您有用,但是我无法运行您的代码,因为它缺少变量声明,包含和所有其他内容