void main(void)
{
FILE *fpIn // 输入文件的指针
FILE *fpOut // 输出文件的指针
char str[120] // 用来存储从文件中读取出的”一行“字符串信息
int row = 1
fpIn = fopen("data5612.cpp", "r") // 以只读和文本格式打开data5612.cpp,这里的文件名无所谓大小写
fpOut = fopen("data5612.txt", "w") // 以创建方式(也叫写方式)打开data5612.txt文件
fgets(str, 81, fpIn) // 从文件中读取一行信息,保存到str数组中。这里要注意的是这个81,一般情况下,编写文本格式文件的人,都习惯遇到行尾就敲回车,所以,一般情况下,文本文件一行最多80个字符。如果,一行不够80个字符,这个函数会自动只读到'\n'就结束了。
while(!feof(fpIn))// 判断上一次fgets()是否正常(即,没有遇到文件尾部)
{
fprintf(fpOut, "%04d %s\n", row, str)// 在读入的每一行信息前,加入0000到9999的行号(应该够用了吧),呵呵呵呵
row++// 行号加一
fgets(str, 81, fpIn)// 读取下一行
}
fclose(fpIn) // 关闭文件
fclose(fpOut)
}
程序已验证,木有问题。
#include<stdio.h>#define N 1000
int main(void)
{
FILE *in, *out
int i
in = fopen("源.c", "rb")
char a[N]
fread(a, sizeof(char), N, in)
for (i = 0 i < N i++)
{
if (a[i] == '/'&&a[i + 1] == '/'&&a[i + 2] == 's'&&a[i + 3] == 't'&&a[i + 4] == 'o'&&a[i + 5] == 'p'&&a[i + 6] == '0'&&a[i + 7] == '0'&&a[i + 8] == '1')
{
(a[i + 9] = '\0')
break
}
}
printf("%s\n",a)
out = fopen("程序.txt", "wb")
fwrite(a, sizeof(char), N, out)
return 0
}//stop001
输出结果
第一次编译需要注释或删除掉那个for循环,第二次好使,这个源文件叫“源.c”,可以根据程序大小改define,最后的停止标志stop001也可以改
大概就是这样啦,换成你自己的文件名就行了import java.io.FileNotFoundException
import java.io.IOException
import java.io.RandomAccessFile
import java.util.ArrayList
public class ShowSourceCode {
public static void main(String[] args) throws FileNotFoundException, IOException{
RandomAccessFile file = new RandomAccessFile("Add.java", "r")
String tmp
while((tmp = file.readLine()) != null){
System.out.println(tmp)
}
file.seek(0)
int lineNum = 1
while((tmp = file.readLine()) != null){
System.out.println(lineNum + ": " + tmp)
lineNum++
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)