㈠ 如何把c语言中输出的数据保存到一个文件夹中
1、首先,可以先查看整体代码,了解保存整体框架。
㈡ C语言中向txt文件中写数据,并且只输出一个
#include<stdio.h>
void main()
{
int prefloor=10;
int state=1;
long int i;
char timechar[5]={'1','2','3','4'};
char chfloor;
int nowfloor=4;
FILE * cfPtr=NULL;
if( (cfPtr=fopen("dest.txt","a+"))==NULL)
{
printf("can't open file\n");
return ;
}
while(1)
{
if(prefloor!=nowfloor)
{
for (i=0;i<444;i++)
{
;
}
// changetype(timechar);
fputs(timechar,cfPtr);
fputs(" ",cfPtr);
chfloor='0'+nowfloor;
fputc(chfloor,cfPtr);
fputc('\n',cfPtr);
prefloor=nowfloor;
}
break;
}
fclose(cfPtr);
}
几个问题:
1.while(1),死循环了。需要break。
2.文件用完必须要关闭。fclose。
3.文件读写的方式改成a+
4.for循环有什么意义吗?需要停留一段时间?可以用Sleep函数。
㈢ 有几千个TXT格式的log文件,怎么用Python批量提取每个log文件固定位置的具体数值,输出到一个TXT文件
1.将这些TXT文件先合并
2.找到这些具体数值的特征
3.用正则表达式过滤提取
这阵子正学习python,不介意可以发给我,练着玩
㈣ SQL2012 全部数据太大 怎么导出到多个文件
/*
--用BCP试试,不行再用下面的存储过程
EXEC master..xp_cmdshell 'bcp "select * from test.dbo.Apo_village"
queryout "c:/Apo_SFZ.xlsx" -c -S"服务器" -U"sa" -P"密码"'
*/
--这是用C#写的存储过程,不知道你会不会编译到SQL Server
--在数据库这样调用就是了
--Exec BulkCopyToXls 'SQL查询语句','路径','文件名',最大记录数
--Exec BulkCopyToXls 'select * from 表','G:\Test','Table',60000
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class myProcere
{
[Microsoft.SqlServer.Server.SqlProcere]
public static void BulkCopyToXls(SqlString sql, SqlString savePath, SqlString tableName, SqlInt32 maxRecordCount)
{
if (sql.IsNull || savePath.IsNull || tableName.IsNull)
{
SqlContext.Pipe.Send(" 输入信息不完整!");
}
//每个excel文件最大容纳65534
ushort _maxRecordCount = ushort.MaxValue - 1;
if (maxRecordCount.IsNull == false && maxRecordCount.Value < ushort.MaxValue && maxRecordCount.Value > 0)
_maxRecordCount = (ushort)maxRecordCount.Value;
ExportXls(sql.Value, savePath.Value, tableName.Value, _maxRecordCount);
}
private static void ExportXls(string sql, string savePath, string tableName, System.UInt16 maxRecordCount)
{
//创建文件路径
if (System.IO.Directory.Exists(savePath) == false)
{
System.IO.Directory.CreateDirectory(savePath);
}
using (SqlConnection conn = new SqlConnection("context connection=true"))
{
conn.Open();
using (SqlCommand command = conn.CreateCommand())
{
command.CommandText = sql;
using (SqlDataReader reader = command.ExecuteReader())
{
int i = 0;
int totalCount = 0;
int tick = System.Environment.TickCount;
SqlContext.Pipe.Send(" 开始导出数据");
while (true)
{
string fileName = string.Format(@"{0}/{1}.{2}.xls", savePath, tableName, i++);
int iExp = Write(reader, maxRecordCount, fileName);
long size = new System.IO.FileInfo(fileName).Length;
totalCount += iExp;
SqlContext.Pipe.Send(string.Format(" 文件{0}, 共{1} 条, 大小{2} 字节", fileName, iExp, size.ToString("###,###")));
if (iExp < maxRecordCount) break;
}
tick = System.Environment.TickCount - tick;
SqlContext.Pipe.Send(" 导出数据完成");
SqlContext.Pipe.Send("-------");
SqlContext.Pipe.Send(string.Format(" 共{0} 条数据,耗时{1}ms", totalCount, tick));
}
}
}
}
private static void WriteObject(ExcelWriter writer, object obj, System.UInt16 x, System.UInt16 y)
{
//判断写数字还是写字符
string type = obj.GetType().Name.ToString();
switch (type)
{
case "SqlBoolean":
case "SqlByte":
case "SqlDecimal":
case "SqlDouble":
case "SqlInt16":
case "SqlInt32":
case "SqlInt64":
case "SqlMoney":
case "SqlSingle":
if (obj.ToString().ToLower() == "null")
writer.WriteString(x, y, obj.ToString());
else
writer.WriteNumber(x, y, Convert.ToDouble(obj.ToString()));
break;
default:
writer.WriteString(x, y, obj.ToString());
break;
}
}
private static int Write(SqlDataReader reader, System.UInt16 count, string fileName)
{
int iExp = count;
ExcelWriter writer = new ExcelWriter(fileName);
writer.BeginWrite();
//写字段信息
for (System.UInt16 j = 0; j < reader.FieldCount; j++)
{
writer.WriteString(0, j, reader.GetName(j));
}
//循环一行一行读入数据
for (System.UInt16 i = 1; i <= count; i++)
{
if (reader.Read() == false)
{
iExp = i - 1;
break;
}
//循环一格一格写入数据
for (System.UInt16 j = 0; j < reader.FieldCount; j++)
{
WriteObject(writer, reader.GetSqlValue(j), i, j);
}
}
writer.EndWrite();
return iExp;
}
public class ExcelWriter
{
System.IO.FileStream _wirter;
//创建文件
public ExcelWriter(string strPath)
{
_wirter = new System.IO.FileStream(strPath, System.IO.FileMode.OpenOrCreate);
}
//写数组
private void _writeFile(System.UInt16[] values)
{
foreach (System.UInt16 v in values)
{
byte[] b = System.BitConverter.GetBytes(v);
_wirter.Write(b, 0, b.Length);
}
}
//写文件头
public void BeginWrite()
{
_writeFile(new System.UInt16[] { 0x809, 8, 0, 0x10, 0, 0 });
}
//文件尾
public void EndWrite()
{
_writeFile(new System.UInt16[] { 0xa, 0 });
_wirter.Close();
}
//写数字到单元格
public void WriteNumber(System.UInt16 x, System.UInt16 y, double value)
{
_writeFile(new System.UInt16[] { 0x203, 14, x, y, 0 });
byte[] b = System.BitConverter.GetBytes(value);
_wirter.Write(b, 0, b.Length);
}
//写字符到单元格
public void WriteString(System.UInt16 x, System.UInt16 y, string value)
{
byte[] b = System.Text.Encoding.Default.GetBytes(value);
_writeFile(new System.UInt16[] { 0x204, (System.UInt16)(b.Length + 8), x, y, 0, (System.UInt16)b.Length });
_wirter.Write(b, 0, b.Length);
}
}
};
㈤ 如何输出数据到文件
记住
4
步:
打开文件
准备数据
写入文件
关闭文件
!===========================================
open(unit=fileid,
file=filename)
do
i=1,students
write(*,"('请输入'i2'号同学的中文、英文及数学成绩')")
i
read(*,*)
s(i)%chinese,
s(i)%english,
s(i)%math
write(fileid,"('座号:'i2/'中文:'i3'
英文:'i3'
数学:'i3)")
i,s(i)
end
do
close(fileid)
【注】这是截取某程序一段
特别注意
open
read
write
close
这四句,其他可以不管
其中
fileid
和
filename
都是自己设定的
unit=6
时默认输出到屏幕,所以这里你可以随便取除6外的数字,比如15
filename
就是你想保存数据到的文件,如果文件就在程序文件夹,直接写文件名,如果要保存到其他地方,需要带上路径
㈥ matlab 怎么将数据输出到多个txt文件
x为变量
*.txt为文件名,再打开就可以
打开后,数据有可能是以指数形式保存的.
㈦ 从oracle数据库中导出大量数据到excel中为什么自动分成了好几个excel文件
Excel 中一个Sheet页最多能放6万多行。多了就处理不了了。所以Oracle自动分成好几个Excel文件。
㈧ 如果一个表中的数据量太大,怎么用spool从表中导出数据到多个文件中
spool 路径+文件名1;
SELECT top 10000 * FROM XXX;
spool 路径+文件名2;
SELECT top 10000 * FROM XXX;
......
spool off;
㈨ c语言 写入数据 输出文件
写入数据,也就是从标准输入读数据,可以使用scanf,getchar,gets等输入函数完成。
输出文件,也就是写文件操作,可以使用标准C文件接口完成,包括fopen,fclose, fwrite,fputs,fputc,fprintf等。
以读入100个整型数,并输出到文件为例,代码如下:
#include<stdio.h>
intmain()
{
FILE*fp=fopen("out.txt","w");//以读方式打开文件out.txt。
inti,a;
for(i=0;i<100;i++)//执行100次。
{
scanf("%d",&a);//读入数据。
fprintf(fp,"%d",a);//写到文件。
}
fclose(fp);//关闭文件。
return0;
}
㈩ 如何用批处理统计指定文件类型的文件数量 并输出统计数据 谢谢啦
@echo off
set /p f=请输入待查文件扩展名(如 txt):
for /f %%i in ('dir /b /a-d *.%f% ^| find "." /c') do echo %f% 文件数量有:%%i
pause
如果包括子文件夹中的数量:
@echo off
set /p f=请输入待查文件扩展名(如 txt):
for /f %%i in ('dir /b /s /a-d *.%f% ^| find "." /c') do echo %f% 文件数量有:%%i
pause