ubuntu中的警告,返回值为';fscanf';
通过运行通用脚本直接从…安装节日语音合成系统。 面对下面给定的问题……这个问题是否会影响我在节日框架上的工作?ubuntu中的警告,返回值为';fscanf';,c,installation,scanf,festival,C,Installation,Scanf,Festival,通过运行通用脚本直接从…安装节日语音合成系统。 面对下面给定的问题……这个问题是否会影响我在节日框架上的工作? eps.c: In function ‘getd’: eps.c:142:7: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result] fscanf(fp, "%d %d", x, y); ^ 阅读的文档。您应该使用
eps.c: In function ‘getd’:
eps.c:142:7: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result [-Wunused-result]
fscanf(fp, "%d %d", x, y);
^
阅读的文档。您应该使用已成功扫描项目的返回计数,例如,代码如下:
int x = 0, y = 0;
if (fscanf(fp, "%d %d", &x, &y) < 2) {
fprintf(stderr, "missing numbers at offset %ld\n", ftell(fp));
exit(EXIT_FAILURE);
}
intx=0,y=0;
如果(fscanf(fp,%d%d,&x,&y)<2){
fprintf(stderr,“偏移量%ld处缺少数字”,ftell(fp));
退出(退出失败);
}
因此,您可以改进eps.c文件(或许可以向上游提交补丁和/或bug报告)。阅读的文档。您应该使用已成功扫描项目的返回计数,例如,代码如下:
int x = 0, y = 0;
if (fscanf(fp, "%d %d", &x, &y) < 2) {
fprintf(stderr, "missing numbers at offset %ld\n", ftell(fp));
exit(EXIT_FAILURE);
}
intx=0,y=0;
如果(fscanf(fp,%d%d,&x,&y)<2){
fprintf(stderr,“偏移量%ld处缺少数字”,ftell(fp));
退出(退出失败);
}
因此,您可以改进eps.c文件(或许可以向上游提交补丁和/或bug报告)。阅读的文档。您应该使用已成功扫描项目的返回计数,例如,代码如下:
int x = 0, y = 0;
if (fscanf(fp, "%d %d", &x, &y) < 2) {
fprintf(stderr, "missing numbers at offset %ld\n", ftell(fp));
exit(EXIT_FAILURE);
}
intx=0,y=0;
如果(fscanf(fp,%d%d,&x,&y)<2){
fprintf(stderr,“偏移量%ld处缺少数字”,ftell(fp));
退出(退出失败);
}
因此,您可以改进eps.c文件(或许可以向上游提交补丁和/或bug报告)。阅读的文档。您应该使用已成功扫描项目的返回计数,例如,代码如下:
int x = 0, y = 0;
if (fscanf(fp, "%d %d", &x, &y) < 2) {
fprintf(stderr, "missing numbers at offset %ld\n", ftell(fp));
exit(EXIT_FAILURE);
}
intx=0,y=0;
如果(fscanf(fp,%d%d,&x,&y)<2){
fprintf(stderr,“偏移量%ld处缺少数字”,ftell(fp));
退出(退出失败);
}
因此,您可以改进
eps.c
文件(并可能向上游提交补丁和/或bug报告)。此警告表示,不检查scanf的返回值并不是一个好主意
我认为对(void)
进行强制转换是一种避免这种情况的方法,但显然与本文讨论的不同:
然而,这不是一个错误,你得到的只是一个警告(你的标题有点误导)
如果未使用该值,则显然不是问题。此警告表示,不检查scanf的返回值不是一个好主意 我认为对
(void)
进行强制转换是一种避免这种情况的方法,但显然与本文讨论的不同:
然而,这不是一个错误,你得到的只是一个警告(你的标题有点误导)
如果未使用该值,则显然不是问题。此警告表示,不检查scanf的返回值不是一个好主意 我认为对
(void)
进行强制转换是一种避免这种情况的方法,但显然与本文讨论的不同:
然而,这不是一个错误,你得到的只是一个警告(你的标题有点误导)
如果未使用该值,则显然不是问题。此警告表示,不检查scanf的返回值不是一个好主意 我认为对
(void)
进行强制转换是一种避免这种情况的方法,但显然与本文讨论的不同:
然而,这不是一个错误,你得到的只是一个警告(你的标题有点误导)
如果未使用该值,则显然不是问题。手册页显示:
如果在之前到达输入结束,则返回值EOF
发生第一次成功转换或匹配失败。
如果发生读取错误,也会返回EOF,在这种情况下,错误
流的指示器(见ferror(3))已设置,errno已设置为
指出错误
这意味着您可以对照EOF进行检查:
#include<stdio.h>
int main(void){
int a;
printf("Please give the value of A: ");
if(scanf("%d",&a) != EOF){
printf("\nThe value of A is\t%d\n",a);
}
return 0;
}
#包括
内部主(空){
INTA;
printf(“请给出A:”)的值;
如果(扫描频率(“%d”,&a)!=EOF){
printf(“\n A的值是\t%d\n”,A);
}
返回0;
}
或:
#包括
#包括
#包括
内部主(空){
int a,errnum=errno;
printf(“请给出A:”)的值;
如果(扫描频率(“%d”,&a)=EOF){
fprintf(标准,“错误号的值:%d\n”,错误号);
perror(“perror打印的错误”);
fprintf(stderr,“打开文件时出错:%s\n”,strerror(errnum));
}
printf(“\n A的值是\t%d\n”,A);
返回0;
}
这适用于:
scanf、fscanf、sscanf、vscanf、vsscanf、vfscanf-输入格式控制
版本
手册页上说:
如果在之前到达输入结束,则返回值EOF
发生第一次成功转换或匹配失败。
如果发生读取错误,也会返回EOF,在这种情况下,错误
流的指示器(见ferror(3))已设置,errno已设置为
指出错误
这意味着您可以对照EOF进行检查:
#include<stdio.h>
int main(void){
int a;
printf("Please give the value of A: ");
if(scanf("%d",&a) != EOF){
printf("\nThe value of A is\t%d\n",a);
}
return 0;
}
#包括
内部主(空){
INTA;
printf(“请给出A:”)的值;
如果(扫描频率(“%d”,&a)!=EOF){
printf(“\n A的值是\t%d\n”,A);
}
返回0;
}
或:
#包括
#包括
#包括
内部主(空){
int a,errnum=errno;
printf(“请给出A:”)的值;
如果(扫描频率(“%d”,&a)=EOF){
fprintf(标准,“错误号的值:%d\n”,错误号);
perror(“perror打印的错误”);
fprintf(stderr,“打开文件时出错:%s\n”,strerror(errnum));
}
printf(“\n A的值是\t%d\n”,A);
返回0;
}
这适用于:
scanf、fscanf、sscanf、vscanf、vsscanf、vfscanf-输入格式控制
版本
手册页上说:
如果在之前到达输入结束,则返回值EOF
发生第一次成功转换或匹配失败。
如果发生读取错误,也会返回EOF,在这种情况下,错误
流的指示器(见ferror(3))已设置,errno已设置为
指出错误
这意味着您可以对照EO进行检查