gpt4 book ai didi

c - c中 `putw`和 `getw`函数有什么用?

转载 作者:行者123 更新时间:2023-11-30 18:17:31 24 4
gpt4 key购买 nike

我想知道putw()getw()函数的用法。据我所知,它们用于写入和读取文件,就像 putcgetc 一样,但它们只处理整数。但是当我使用它们来写入整数时,它只是在文件中写入不同的符号(就像我使用 putw()65 写入文件一样。它会写入 A 在文件中)。为什么它采用 ASCII 值?我正在使用代码块 13.12。代码:

#include <stdio.h>

int main() {
FILE *fp;
int num;

fp = fopen("file.txt", "w");
printf("Enter any number:\n");
scanf("%d", &num);
putw(num, fp);
fclose(fp);
printf("%d\n", num);

return 0;
}

最佳答案

让我们阅读 getw() 和 putw() 函数的点对点解释。

  • getw() 和 putw() 与文件处理相关。
  • putw() 用于将整数数据写入文件(文本文件)。
  • getw()用于从文件中读取整数数据。
  • getw() 和 putw() 与 getc() 和 putc() 类似。唯一的区别是 getw() 和 putw() 专门用于读取和写入整数数据。
<小时/>
int putw(integer, FILE*);

函数的返回类型为整数。

有两个参数,第一个参数“整数”,告诉您要在文件上写入的整数,第二个参数“FILE*”告诉数据将写入的文件的位置。

现在让我们看一个例子。

int main()
{
FILE *fp;

fp=fopen("file1.txt","w");
putw(65,fp);

fclose(fp);
}

这里 putw() 将整数作为参数(在本例中为 65)将其写入文件 file1.txt,但如果我们手动打开文本文件,我们会发现文件上写有“A”。这意味着 putw() 实际上接受整数参数,但将其作为字符写入文件。

因此,这意味着编译器将参数作为特定字符的 ASCII 代码并将该字符写入文本文件。

<小时/>
int getw(FILE*);

返回类型为整数。

有一个参数 FILE*,它是要从中读取整数数据的文件的位置。

在下面的示例中,我们将读取在上例中写入名为 file1.txt 的文件中的数据。

int main()
{
FILE *fp;
int ch;

fp=fopen("file1.txt","r");

ch=getw(fp);
printf("%d",ch);

fclose(fp);
}

输出

65

说明:这里我们读取上面程序中写入file1.txt的数据,我们将得到输出65。

因此,getw() 读取文件 file1.txt 中已写入的字符“A”,并返回字符“A”的 ASCII 码,即 65。

我们还可以将上面的程序写成:

int main()
{
FILE *fp;

fp=fopen("file1.txt","r");

printf("%d",getw(fp));

fclose(fp);
}

输出

65

关于c - c中 `putw`和 `getw`函数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28625696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com