几个困惑也久的C语言有关问题 真心求答
几个困惑也久的C语言问题 真心求答
最近一直在 为几个C语言问题烦恼?真心求大神们来帮忙解答
问题:我向文件a.txt{ fp=fopen("a.txt","w+")}写入 几个字符窜,如:123 456 abcdef .....;
1.我想只读出第二个字符串,如:要求只读出456或者abcdef。要怎么实现?
2.要求写入的字符串 在文件中各占一行 ,
123
456
abcdef
.....
这样要怎么实现?
3.在C中可以在文件中在写入一个文件吗?
如:在也知的a.txt文件中在写入一个b.txt文件,要怎样才能实现b文件的读写呢?
困惑也久的问题,真心希望大神解答。(最好能用个简单的例子解答困惑)
真心求解 拜谢!
------解决方案--------------------
1、读取的时候全读出来,然后循环判断呗;貌似没其他办法;
2、fprintf(fl,“123\r\n”);
3、先fopen("b.txt","rb");将b按2进制读内存中,再fopen( "a.txt", "bw+");按2进制写a里,用的时候从a里读出来保存到b里就行啊。
------解决方案--------------------
1.fopen后使用fseek重定位读指针,向后跳4个(“123” +一个空格的长度)读取
2.写入时在每个“单词”后加上'\n'回车符并写入就可以了
3.没听说过文件中套文件的,你的意思是在a.txt后边续写入b的内容吗?是的话可以在打开a.txt的时候使用特定的方式,fopen("a.txt" ,"a+"); // 好像是"a+"
------解决方案--------------------
1、如果你写入的文件时用文本方式写入的(fprintf写入)那么你只需要调用fscanf(FILE *fp,"%s%s...",a,b,..);按格式读取就好;如果你是调用fwrite写入的那么这个比较麻烦一点必须读取一段之后自己分析
2、写入一段数据之后加一个换行写入就好吧
3、打开b只读打开 a文件按追击的方式打开 从b读写入a不就是行了?
至于合并之后怎么找到b的内容 你可以在b写入之前的做标记嘛 先写标记在写b的内容
------解决方案--------------------
问题1:很简单,以空格作为断点
2:遇到空格就写入"\r\n"
3:打开a文件,定位到你想的地方,打开b文件,读出来,然后写到a里面去![几个困惑也久的C语言有关问题 真心求答 几个困惑也久的C语言有关问题 真心求答](/default/index/img?u=aHR0cDovL3d3dy5teWV4Y2VwdGlvbnMubmV0L2ltZy8yMDEzLzA0LzA5LzExNDUwMzYxMC5naWY=)
------解决方案--------------------
正解,其实system调用下shell是最简单的
------解决方案--------------------
Q1.我想只读出第二个字符串,如:要求只读出456或者abcdef。要怎么实现?
A1.fscanf(f,"%*s%s%s",s2,s3);
Q2.要求写入的字符串 在文件中各占一行 ,
123
456
abcdef
.....
这样要怎么实现?
A2.不行fprintf(f,"123\n456\nabcdef\n");
Q3.在C中可以在文件中在写入一个文件吗?
A3.不行
------解决方案--------------------
最近一直在 为几个C语言问题烦恼?真心求大神们来帮忙解答
问题:我向文件a.txt{ fp=fopen("a.txt","w+")}写入 几个字符窜,如:123 456 abcdef .....;
1.我想只读出第二个字符串,如:要求只读出456或者abcdef。要怎么实现?
2.要求写入的字符串 在文件中各占一行 ,
123
456
abcdef
.....
这样要怎么实现?
3.在C中可以在文件中在写入一个文件吗?
如:在也知的a.txt文件中在写入一个b.txt文件,要怎样才能实现b文件的读写呢?
困惑也久的问题,真心希望大神解答。(最好能用个简单的例子解答困惑)
真心求解 拜谢!
------解决方案--------------------
1、读取的时候全读出来,然后循环判断呗;貌似没其他办法;
2、fprintf(fl,“123\r\n”);
3、先fopen("b.txt","rb");将b按2进制读内存中,再fopen( "a.txt", "bw+");按2进制写a里,用的时候从a里读出来保存到b里就行啊。
------解决方案--------------------
1.fopen后使用fseek重定位读指针,向后跳4个(“123” +一个空格的长度)读取
2.写入时在每个“单词”后加上'\n'回车符并写入就可以了
3.没听说过文件中套文件的,你的意思是在a.txt后边续写入b的内容吗?是的话可以在打开a.txt的时候使用特定的方式,fopen("a.txt" ,"a+"); // 好像是"a+"
------解决方案--------------------
1、如果你写入的文件时用文本方式写入的(fprintf写入)那么你只需要调用fscanf(FILE *fp,"%s%s...",a,b,..);按格式读取就好;如果你是调用fwrite写入的那么这个比较麻烦一点必须读取一段之后自己分析
2、写入一段数据之后加一个换行写入就好吧
3、打开b只读打开 a文件按追击的方式打开 从b读写入a不就是行了?
至于合并之后怎么找到b的内容 你可以在b写入之前的做标记嘛 先写标记在写b的内容
------解决方案--------------------
问题1:很简单,以空格作为断点
2:遇到空格就写入"\r\n"
3:打开a文件,定位到你想的地方,打开b文件,读出来,然后写到a里面去
------解决方案--------------------
正解,其实system调用下shell是最简单的
------解决方案--------------------
Q1.我想只读出第二个字符串,如:要求只读出456或者abcdef。要怎么实现?
A1.fscanf(f,"%*s%s%s",s2,s3);
Q2.要求写入的字符串 在文件中各占一行 ,
123
456
abcdef
.....
这样要怎么实现?
A2.不行fprintf(f,"123\n456\nabcdef\n");
Q3.在C中可以在文件中在写入一个文件吗?
A3.不行
------解决方案--------------------