昨天有两个学妹找我给她们敲这个作业,我在网上没看到有现成的答案,索性我就放上来好了。
作业题目:从键盘输入1个15个字符的字符串写到文件data.txt中,程序执行后打开试题文件夹下的文件data.txt,看下文件内容是否是输入的字符串。再从该文件读取字符串输出到屏幕上。
#include <stdio.h>
#include <string.h>
char buf1[15] = { 0 };
char buf2[15] = { 0 };
void write(void);
void read(void);
int main()
{
gets(buf1);
write();
read();
if(!strncmp(buf1, buf2, 15) )
printf("%s", buf2);
return 0;
}
void write()
{
FILE* pf;
pf = fopen("data.txt", "w");
if (pf == NULL) printf("Error opening file");
else
{
fputs(buf1, pf);
fclose(pf);
}
}
void read()
{
FILE* pf;
pf = fopen("data.txt", "r");
if (pf == NULL) printf("Error opening file");
else
{
fgets(buf2, 15, pf);
fclose(pf);
}
}
如果大家用的是Visual Studio,可能fopen一直报错C4996。
你可以在项目——属性——配置属性——C/C++——预处理器——预处理器定义 里面添加
_CRE_SECURE_NO_DEPRECATE