批量提取文件夹中所有txt文件第一行,并按行存储在指定txt文件中?

批量提取文件夹中所有txt文件第一行,并按行存储在指定txt文件中?,第1张

@echo off &title 提取文件第一行并写入新文件 By 依梦琴瑶

::设置主目录路径

set Folder=make

::设置新文件路径

set New=NewFile.txt

cd /d "%Folder%"

(for /f "delims=" %%a in ('dir /a-d/b "WL_MakeItem*.txt"') do (

  set /p Str=<"%%~a"

  call echo %%~na      %%Str%%

))>"%New%"

pause

复制粘贴后务必比对原文,编码保存为ANSI

用fgets读入一行,用sscanf

读出第一列数据

下面假定第一列数据作为字符串,用

sscanf(buf,"%s",

。。。格式读。

类似,整型用

%d

浮点用

%f

%lf

....

#include

<stdio.h>

#include

<stdlib.h>

main(){

char

buf[100]

char

col[100][30]

int

n=0

FILE

*fp

=

fopen("a.txt",

"r")

while

(

fgets(buf,

100,

fp)

!=

NULL)

{

if

(

sscanf(buf,"%s",col[n])

==

1){printf("%s\n",

col[n])

n++

}

}

return

0

}

如果要读每行第一个数,(只读一位数

格式

%1d):

int

x[100]

...

while

(

fgets(buf,

100,

fp)

!=

NULL)

{

if

(

sscanf(buf,"%1d",&x[n])

==

1){

printf("%d\n",x[n])n++}

...

设文件在当前目录下,名为123.txt。成功打开文件后,建立一个循环,从文件中读取一个字符并判断其是否为'\n',若不是则输出这个字符并继续读取下一下字符;若是'\n'则跳出循环,停止读取、关闭文件。代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

#include "stdlib.h"

int main(void){

    FILE *fp

    char ch

    if((fp=fopen("123.txt","r"))==NULL){

        printf("Open the file failure...\n")

        exit(0)

    }

    while((ch=fgetc(fp))!='\n')

        printf("%c",ch)

    fclose(fp)

    printf("\n")

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11682906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存