2 davis 007 davis_007 于 2016.01.13 15:22 提问

关于fscanf()格式化输入函数的问题

有如下以@|@分割的文本文件,每行以$|$\n结束,用fscanf函数如何格式化输入读取每个@|@之前的数值呢?
用“|”分割的文本,用的是fscanf(fp,"%[^|]|%[^|]|",var1,var2);来实现,现在分隔符为“@|@”怎么写格式化匹配串呢?图片

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.14 04:52
 fscanf(fp,"%[^@|@]@|@%[^@|@]@|@",var1,var2);
davis_007
davis_007 这样不对,我测试过了。
2 年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.01.13 15:24

fscanf ()函数
fscanf函数
fscanf函数
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

davis_007
davis_007 这样不对,我测试过了。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言--格式化输入/输出函数(printf/scanf,fprintf/fscanf,sprintf,sscanf)
1、printf/scanf函数说明printf()将输出按指定格式放置在标准输出流stdout上,函数声明如下:int printf(const char *,...);scanf()可以从标准的输入流stdin中按指定的格式读取数据,函数声明如下:int scanf(const char *,...);printf()函数和scanf()函数均为可变参数函数,printf()函数返回值为输出的信
scanf,fscanf,sscanf的区别----总结
fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止. fscanf :格式化读取,按照指定的格式串进行读取数据,并将数据初始化为指定的格式.所以在文本方式下才能有效的判断数据内容. fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用. 其实文本和二进制的差别就在于读取的数据,文本方式会默认为是ASCII码,二进制方式则原样将数据读
c语言中格式化读写函数fscanf()和fprintf()
fscanf():从指定文件中按指定格式读入数据,并赋值给相应的变量 格式:fscanf(文件指针,格式字符串,输出列表) e.g. fscanf(fp,"%d",&i) fscanf(fp,"%d %d",&i,&j) 从文件指针fp指向的文件中按整形读取一个数据,并将这个值赋给变量i. fprintf():将一个变量按照指定的方式写入到指定的文件中. 格式:
格式化输入函数scanf
【功能】   格式化输入任意数据列表 【语句格式】 scanf("格式控制符",地址列表); ①格式控制符:由%与格式符构成,将要输入的字符按指定格式输入 ②地址列表:要输入的各变量地址 【基本格式符】 d:输入十进制整数u:输入无符号整数o:输入八进制整数x:输入十六进制整数c:输入单个字符s:输入字符串(输入时以非空格开始,空格结
格式化读取文件fscanf(fp, "%s", strB)
#define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; //b.txt //12, wd, wr, sd, sf, 34.5676 //23, er, df, xc, xc, 12.234 int main(void) { FILE *fp = fopen("b.txt", "r
格式化读写函数 , fprintf 写 , fscanf 读
#include int main(int argc, const char * argv[]) { FILE * fp = fopen("/Users/stone/Desktop/hh.txt", "w+"); int a = 5, b = 6; if (fp != NULL) { fprintf(fp, "%d#%d;", a, b); fprintf(fp, "%d#%d
【转载】fscanf和fprintf函数从文件中格式化读取double型数据
在C语言里面, 将一个浮点数输出到文件中, 可以使用符号%f, 如  double a = 0.0; fprintf(fp, "a = %f", a);  而如果要从文件中读取一个double类型的浮点数, 就不能用%f, 而要用%lf才可以. 如  double a; float b; fscanf(fp, "%f", &a);  // 这里得到的a的数值不是所期望的值 fscan
scanf与fscanf与sscanf
函数原型 int scanf(const char *format, ...); int fscanf(FILE *stream, const char *format, ...); int sscanf(const char *str, const char *format, ...); 相同点是,按照format指定的格式给读取字符串类型变量的值,然后给数值型变量进行赋值。 不同点是,sc
使用fscanf获取固定格式内容
需求:读取/proc/net/arp文件的ip和mac信息 #include #include char *arp_get() { FILE *proc; char ip[16]; char mac[18]; if (!(proc = fopen("/proc/net/arp", "r"))) { return NULL; } /* Skip first line */
java 中的fscanf/scanf String.format 实例
 public static void main(String []argv) {  Object[] sendData = new Object[4];  sendData[0] = Integer.valueOf(1);  sendData[1] = "172.12.1.2";  sendData[2] = Integer.valueOf(123);  sendData[3] = "testa