用c语言编写一个程序,接受一个或多个参数,这些参数将是文件名,并且每个参数都在屏幕上显示其长度(以字节为单位)。使用文件定位对其进行编程(参见“lseek”和相关函数)。
时间: 2023-03-14 14:31:16 浏览: 44
可以使用以下C语言编写的程序来实现这一目标: #include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h> int main(int argc, char *argv[])
{
int i;
struct stat statbuf;
for(i = 1; i < argc; i++) {
if(stat(argv[i], &statbuf) == -1) {
perror("stat");
exit(1);
}
printf("%s 的长度为 %ld 字节\n", argv[i], statbuf.st_size);
}
return 0;
}
相关问题
使用VScode,写一个多文件的C语言项目,编写makefile
当在VSCode中编写一个多文件的C语言项目,并使用Makefile进行编译和构建时,可以按照以下步骤进行操作:
1. 创建项目文件夹:在任意位置创建一个文件夹作为项目的根目录。
2. 在项目根目录下创建源文件:可以使用VSCode的文件资源管理器在项目根目录下创建多个源文件(以`.c`为扩展名)和头文件(以`.h`为扩展名)。
3. 创建Makefile:在项目根目录下创建一个名为`Makefile`(注意首字母大写)的文件,并在其中编写构建规则。
4. 编写构建规则:在Makefile中,你可以定义编译器、编译选项、链接选项以及构建目标等。以下是一个简单的示例:
```makefile
CC = gcc
CFLAGS = -Wall -Wextra
LDFLAGS =
SRCDIR = src
OBJDIR = obj
SOURCES = $(wildcard $(SRCDIR)/*.c)
OBJECTS = $(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(SOURCES))
TARGET = myproject
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) $^ -o $@
$(OBJDIR)/%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) -c $< -o $@
.PHONY: clean
clean:
rm -rf $(OBJDIR)/*.o $(TARGET)
```
在这个示例中,我们假设源文件存放在名为`src`的文件夹中,目标文件存放在名为`obj`的文件夹中。`CC`变量指定了编译器,`CFLAGS`变量指定了编译选项,`LDFLAGS`变量指定了链接选项。`$(SOURCES)`变量使用通配符获取所有的源文件,`$(OBJECTS)`变量使用模式替换获取所有的目标文件。`$(TARGET)`是最终的可执行文件名。
构建规则中的第一个目标`$(TARGET)`表示最终的可执行文件,它依赖于所有的目标文件。第二个目标`$(OBJDIR)/%.o`表示每个源文件对应的目标文件,它依赖于对应的源文件。规则中使用了变量展开和自动变量,这样可以根据实际情况进行构建。
最后,使用`make`命令在项目根目录下执行Makefile,并构建项目。如果一切顺利,将会在项目根目录下生成可执行文件。
希望这个简单的示例可以帮助你开始编写多文件的C语言项目,并使用Makefile进行构建。如果你有其他问题,请随时提问!
帮我编写一个文本读取的c语言代码
当然,以下是一个使用C语言读取文本文件内容的示例代码:
```c
#include <stdio.h>
int main() {
FILE *file;
char filename[100];
char content[1000];
printf("请输入文件名:");
scanf("%s", filename);
// 打开文件
file = fopen(filename, "r");
if (file == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 读取文件内容
while (fgets(content, sizeof(content), file) != NULL) {
printf("%s", content);
}
// 关闭文件
fclose(file);
return 0;
}
```
这段代码使用了 `fopen` 函数打开指定的文本文件,并使用循环的方式逐行读取文件内容,直到文件末尾。然后,使用 `printf` 函数将每行内容打印到控制台上。最后,使用 `fclose` 函数关闭文件。
在运行代码时,程序会要求你输入要读取的文本文件的文件名。请确保输入的文件名正确并且文件存在于当前目录中。如果文件无法打开,程序会输出错误消息并退出。
请注意,这只是一个简单的示例代码,用于演示读取文本文件的基本操作。在实际应用中,可能需要处理更多的错误情况和复杂的文本处理逻辑。