- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
为什么这个程序在 Ubuntu 中构建时会产生语法错误?
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "time.h"
#include "sys/types.h"
#include "sys/stat.h"
int main()
{
time_t st_mtime;
printf("Hello\n");
return 0;
}
这是我尝试构建它时得到的结果:
$ gcc -o test1 test1.c
test1.c: In function ?main?:
test1.c:10: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?.? token
test1.c:10: error: expected expression before ?.? token
检查预处理器输出:
$ gcc -E test1.c > test1.d
第 10 行显示为:
time_t st_mtim.tv_sec;
仅当我包含“sys/stat.h”和“time.h”文件时才会出现错误。
最佳答案
如果你grep
/usr/include
for st_mtime
,你会发现以下内容:
$ grep -r st_mtime /usr/include | grep define
/usr/include/x86_64-linux-gnu/bits/stat.h:# define st_mtime st_mtim.tv_sec
所以问题源于你使用了变量名st_mtime
。
关于c - time_t st_mtime 行的语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713876/
我有一个程序想要检查文件是否已被修改。 regtest 失败,事实上,尽管文件已更改,st_mtime 却没有!此外,外部统计数据也证实了这一点。 我相信 st_mtime 应该改变,因为 stat(
为什么这个程序在 Ubuntu 中构建时会产生语法错误? #include "stdio.h" #include "stdlib.h" #include "string.h" #inc
我正在尝试在 Cygwin 中使用 Python 3.8 获取文件的最后修改时间。 所以如果我执行 stat .profile 我会得到: File: .profile Size: 1236
我正在做一个fstat在我的文件描述符上并将其转储到 struct stat 。我阅读了 fstat 的文档(链接如下),它声称有成员 st_atime和st_mtime . http://pubs.
我在使用msync时遇到一个问题。非常感谢您的帮助! 简而言之,我映射文件A,并修改它和msync,但st_mtime没有改变。即使munmap文件A并退出进程,st_mtime也不变。 以下是代码。
我想从结构stat中显示我的两个属性 struct stat { dev_t st_dev; /* ID of device containing file */ ino_t
在此示例中,我使用的是在 OSX shell 中使用 pyenv 安装的 Python 3.6.5。 我一直在尝试一些概念证明文件监视代码,我认为使用文件当前和上次测量的增量 st_mtime 足以“
从 stat() 调用检索到的修改时间转换为 datetime 对象的最惯用/最有效的方法是什么?我想出了以下(python3): from datetime import datetime, tim
当我使用 O_CREAT 标志在 UNIX 中创建或打开文件时,st_mtime、st_ctime 和 st_atime文件发生变化。但是,当我使用 O_TRUNC 标志创建或打开文件时,只有 st_
我需要将 st_mtime 转换为字符串格式以将其传递给 java 层,我尝试使用此示例 http://www.cplusplus.com/forum/unices/10342/但是编译器产生错误 i
对于我的计算机科学课,我们正在 C 程序中实现“ls”功能,并且需要使用 st_mtime 字段。然而,当我使用 struct stat 时,它只有一个 st_mtim 字段,而不是我需要的 st_m
我是一名优秀的程序员,十分优秀!