本文目录一览:
- 1、怎样用C#读取TXT文件内容并修改
- 2、VB 如何修改TXT内容?
- 3、vs读取和修改txt文件
- 4、在VS2013中,如何用VB创建txt文件
- 5、VS2010C++的打开下面的代码做出来打开TXT是乱码,为什么把属性改成多字节字符集就可以了,要怎么改代码
- 6、在vs中如何用C语言读写txt文件时,文件的位置应该放到哪
怎样用C#读取TXT文件内容并修改
使用如下代码请确保你的文本文件满足以下条件
文字之间空白的部分为 多个空格,并非tab键(C#编码【\t】)不是请修改相应正则
确定一行为一条数据
如果出现中文乱码请将文本另存为 utf-8 格式
确定字段列的顺序,不是请修改 int[] teble 中的数据
/// summary
///
/// /summary
/// param name="file"文件路径/param
/// param name="num"一个单元格字节数(排版用)/param
/// param name="saveFile"保存路径/param
public void Test(string file, int num, string saveFile)
{
Regex r = new Regex("\\s+");//正则:多个空格
int[] teble = new int[] { 0, 1, 4, 5, 6 };//需要输出哪些列
Liststring[] listStrs = new Liststring[]();//读取数据集合
FileStream fs = new FileStream(file, FileMode.Open);//打开文件
StreamReader sr = new StreamReader(fs);//读取
bool hasHead = true;//是否有表头
string lineStr;//读取一行临时变量
while (!sr.EndOfStream)
{
lineStr = sr.ReadLine().Trim();//读取一行并去掉头尾空格
lineStr = r.Replace(lineStr, " ");//将多个空格替换成一个空格
listStrs.Add(lineStr.Split(' '));//根据空格截取成string数组
}
sr.Close();
fs.Close();
if (listStrs.Count == 0)//如果没有数据则结束方法
{
return;
}
fs = new FileStream(saveFile, FileMode.Create);//创建文件,存在则覆盖
StreamWriter sw = new StreamWriter(fs);//写入
string[] strs;//遍历集合,元素临时变量
int value1;//语文
int value2;//英语
int value3;//数学
double value4;//平均分
for (int i = 0; i listStrs.Count; i++)
{
strs = listStrs[i];
if (hasHead)//表头
{
for (int n = 0; n strs.Length; n++)
{
if (teble.Contains(n))//如果是输出列,则输出
{
sw.Write(FillStr(strs[n], num));
}
}
sw.Write(FillStr("平均数", num));//在末尾添加一列
sw.WriteLine();//输出换行
hasHead = false;//只处理一次
continue;//结束本次循环,进入下次循环
}
for (int j = 0; j strs.Length; j++)//输出列值
{
if (teble.Contains(j))//如果是输出列,则输出
{
sw.Write(FillStr(strs[j], num));
}
}
value1 = 0;//设定默认值
value2 = 0;
value3 = 0;
//转换分值,如果成功则转,不成功则为默认值
int.TryParse(strs[4], out value1);
int.TryParse(strs[5], out value2);
int.TryParse(strs[6], out value3);
value4 = (value1 + value2 + value3) / 3.0;//计算平均数
sw.Write(FillStr(value4.ToString("F2"), num));//输出并保留两位小数
sw.WriteLine();
}
sw.Close();
fs.Close();
}
/// summary
/// 填充单元格
/// /summary
/// param name="str"字符串/param
/// param name="num"字节数(一个汉字及全角符号为2字节,其他为1字节)/param
/// returns/returns
private string FillStr(string str, int num)
{
int length = Encoding.Default.GetBytes(str).Length;//获取字节数
while (length num)//末尾叠加空格
{
str += " ";
length++;
}
return str;
}
测试用例:Test("D:\\1.txt", 10, "D:\\2.txt");
VB 如何修改TXT内容?
楼上的别瞧不起VB6,其实这样的简单问题VB6处理起来也很简单,而且不需要FSO
1、最后一行写入数据:
Open "c:\123.txt" For Append As #1
Print #1, "要写入的数据"
Close #1
2、修改某一行数据:
Dim s() As String
Open "c:\123.txt" For Binary As #1
s = Split(Input(LOF(1), #1), vbCrLf)
s(4) = "修改后的数据" '修改第5行的数据(s(0)是第1行)
Put #1, , Join(s, vbCrLf)
Close #1
vs读取和修改txt文件
写入文件:
//---------------------------------------------------------------------------
#include stdio.h
int main(void)
{
char name[80],pas[80];
FILE *fp=fopen("user.txt","w");/*以写模式("w")打开文件user.txt,如果不存在,会自动创建*/
gets(name);
gets(pas); /*输入名称和密码*/
fputs(name,fp);
fputs(pas,fp);/*将名称和密码以字符串形式写入文件*/
fclose(fp);/*关闭文件*/
return 0;
}
//---------------------------------------------------------------------------
从文件读取:
//---------------------------------------------------------------------------
#include stdio.h
int main(void)
{
char name[80],pas[80];
FILE *fp=fopen("user.txt","r");/*以读模式("r")打开文件user.txt*/
fscanf(fp,"%s",name);
fscanf(fp,"%s",pas);/*从文件读取名称和密码字符串*/
printf("%s\n%s",name,pas);
fclose(fp); /*关闭文件*/
return 0;
}
//---------------------------------------------------------------------------
在VS2013中,如何用VB创建txt文件
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click-vs修改txt文件
If Not IO.File.Exists("c:\123.txt") Then
IO.File.CreateText("c:\123.txt")
Else
IO.File.WriteAllText("c:\123.txt", TextBox1.Text)
End If
End Sub
VS2010C++的打开下面的代码做出来打开TXT是乱码,为什么把属性改成多字节字符集就可以了,要怎么改代码
不需要改代码。用EditPlus或者UlturaEdit之类的编辑器工具打开代码,选择合适的字符集就可以了。
在vs中如何用C语言读写txt文件时,文件的位置应该放到哪
使用C语言的文件操作函数可以读写txt文件,如果使用相对路径,文件必须放在程序相同的文件夹内。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。-vs修改txt文件
2、例程:
#includestdio.h
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
fscanf(fp1,"%d",a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}