要写入的文件内容放到1txt中,向2txt中写入1txt的内容,代码:
DATA SEGMENT
FILE1 DB '1TXT',0
FILE2 DB '2TXT',0
INBUF DB 256 DUP()
HANDLE1 DW
HANDLE2 DW
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AH,3DH
MOV AL,0
LEA DX,FILE1
INT 21H
MOV HANDLE1,AX
mov ah,3ch
mov cx,00
lea dx,FILE2
int 21h
mov HANDLE2,ax
black: MOV AH,3FH
MOV BX,HANDLE1
MOV CX,1
LEA DX,INBUF
INT 21H
cmp ax,0
je out1
mov ah,40h
mov bx,HANDLE2
mov cx,1
lea dx,INBUF
int 21h
jmp black
out1: MOV AH,4CH
INT 21H
CODE ENDS
END START
大量不需要的字符,这段不是数字开头吧?
用emeditor,ctrl+f
搜索&IA01&IA20=\d+
搜索的时候勾选使用正则表达式,右边的全部选择改成全部提取,并且提取选项里改成仅显示匹配的字符。
点全部提取会自动生成一个文件,文件里显示的就是提取的内容。
首先,打开一个tmptxt的文件保存结果文件
FILE out=fopen("tmptxt","w");
FILE in=fopen("原文件txt","r");
循环采用fgets从in中读入字符串,fgets可以指定读入的最大字符串长度,因此可以一部分一部分地读,处理到文件结束为止
然后,因为你是要对完整的单词进行处理,所以fgets完之后再继续fgetc一个一个的字母,直到读到一个','再结束,这样就可以在内存中读到一部分的完整单词
char str[1000]; //开个1000长度的字符串数组
int len;
while (fgets(str,900,in)!=NULL) //读900个,留点空间后面可以读入直完整单词
{
len=strlen(str);
if (str[len-1]=='\n')
{
str[len-1]='\0'; //fgets还有个特点,碰到回车会结束,所以如果碰到回车,就会把结尾的回车也读进去,要去掉
len--;
}
while (str[len-1]!=',') //把最后的单词读完整
{
str[len]=fgetc(in);
if (str[len]==EOF) break;
len++;
}
str[len]='\0';
//接下来对str中的单词进行处理啦,这里自己写,逐个地读,判断是不是要删除的那个,不是的话,就写入out文件中
}
//最后,删除原文件,把tmptxt代替原文件
fclose(in);
fclose(out);
remove("原文件txt");
rename("tmptxt","原文件txt");
以上就是关于Win32 汇编,如何向指定文件写入内容全部的内容,包括:Win32 汇编,如何向指定文件写入内容、命令行 提取文本中指定字符后的所有内容写入另一文件、怎么用c语言在a.txt文件中获取一指定字符串,如(china),然后将其写入到已有的的b.txt文件中去等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)