用c语言写一段代码,文件CodeFile文件以紧凑格式显示在终端上,每行50个代码,同时将此字符形式的编码写入到文件CodePrint中;
时间: 2024-12-18 19:25:58 浏览: 10
在C语言中,你可以使用`fgets`函数逐行读取文件内容,并利用`printf`控制输出格式。同时,可以使用`fwrite`将处理后的字符串写入到另一个文件。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define BUFFER_SIZE 50
void print_code(char *filename) {
FILE *codeFile = fopen(filename, "r"); // 打开文件
if (codeFile == NULL) {
printf("Failed to open file CodeFile.\n");
return;
}
FILE *codePrint = fopen("CodePrint.txt", "w"); // 创建输出文件
if (codePrint == NULL) {
fclose(codeFile);
printf("Failed to create file CodePrint.\n");
return;
}
char line[BUFFER_SIZE];
while (fgets(line, sizeof(line), codeFile)) { // 逐行读取
int pos = 0;
while (pos + BUFFER_SIZE - 1 < strlen(line)) { // 每50个字符打印一次
printf("%.*s\n", BUFFER_SIZE, line + pos);
fwrite(line + pos, BUFFER_SIZE, 1, codePrint); // 写入CodePrint
pos += BUFFER_SIZE;
}
if (pos < strlen(line)) { // 如果最后一行不足50个字符
printf("%.*s", strlen(line) - pos, line + pos);
fwrite(line + pos, strlen(line) - pos, 1, codePrint);
}
}
fclose(codeFile);
fclose(codePrint);
printf("Code displayed and written to CodePrint.txt.\n");
}
int main() {
print_code("CodeFile.txt");
return 0;
}
```
阅读全文