COMP1521 2020T2 Q6 · 文件I/O
COMP1521 2020T2 Q6 · 10 marks · C
知识点: 文件I/O(FILE) · 次: 数据表示ASCII · 难度: 基础
Topic: File I/O · Source: https://cgi.cse.unsw.edu.au/~cs1521/26T1/resources/practice_exams.html
一句话 / Summary: 统计文件中合法ASCII字节数
We need to count the number of ASCII bytes in files.
Write a C program, practice_q6.c ,
which takes a single filename as its argument,
counts the number of bytes in the named file which are valid ASCII,
and prints one line of output containing that count.
Assume a byte is valid ASCII
iff it contains a value between 0 and 127 inclusive.
-
You must match the output format in the example below exactly.
dcc practice_q6.c -o practice_q6
echo hello world >file1
./practice_q6 file1
file1 contains 12 ASCII bytes
echo -e 'hello\xBAworld' >file2
./practice_q6 file2
file2 contains 11 ASCII bytes
echo -n -e '\x80\x81' >file3
./practice_q6 file3
file3 contains 0 ASCII bytes
There is no supplied code for this question.
No error checking is required.
Your program can assume it is always given the name of a file.
Your solution must be in C only.
You are not permitted to run external programs.
You are not permitted to use system, popen, posix_spawn, fork or exec.
🤖 Write a C program.argv[1]is a filename (provided in the run workspace). Count the bytes in that file with value 0..127 and print exactly:<filename> contains <count> ASCII bytes.
Fixture files are provided in the run workspace; reference outputs verified on the sandbox.
样例
file1 contains 12 ASCII bytes
data contains 9 ASCII bytes