c语言中去掉字符串中的逗号逗号

c语言,如何读取逗号分隔的字符串,将逗号间的字符串分别提取出来?_百度知道
c语言,如何读取逗号分隔的字符串,将逗号间的字符串分别提取出来?
先将所有的读进来存在一个字符串中,然后用字符分割函数strtok()//具体可参见API例如:
char str[] = &now # is the time for all # good men to come to the # aid of their country&;
char delims[] = &#&;
char *result = NULL;
result = strtok( str, delims );
while( result != NULL ) {
printf( &result is \&%s\&\n&, result );
result = strtok( NULL, delims );
}以上代码的运行结果是:
result is &now &
result is & is the time for all &
result is & good men to come to the &
result is & aid of their country&
采纳率:39%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言中如何读取以逗号分割的文件中的数据?_百度知道
C语言中如何读取以逗号分割的文件中的数据?
一个 aw.txt 的文件,逗号隔开,里面类似“0.12 0.123 0.534,0.324 0.25 0.5&每个逗号里面有空格、小数点,逗号数量未知,但两逗号间最多15个字符。我要分别把两个逗号之间的字符(包括空格)取出来,单独放到其他数组里面。求帮!!
我有更好的答案
对于这个问题,有两种解决方案。一,直接用scanf进行格式化输入。满足以下两种条件可以用scanf进行输入:1 要输入的数据中不能有空白符号,因为用scanf输入时空白符号会被忽略。空白符号包括空格(' '),制表符('\t'),换行符('\n')等。2 文件中被分隔开的数据类型是以一定的固定规律出现的。举几个典型的例子供理解。例一:所有都是都在一行,均为int型且都用逗号分隔或者即使有换行,那么换行前最后一个数据后面仍有逗号分隔。也就是说,任意两个有效数据之间有且只有一个逗号分隔。那么可以循环调用scanf(&%d,&,&v);来依次把数据读到v中并处理。例二:文件有多行,每行依次为int, double,char的格式,且每行结尾的数据后面没有逗号。可以定义然后循环调用scanf(&%d,%lf,%c&, &a,&b,&c);再处理a,b,c的值。二,循环读入单个字符,再处理字符串。此种方法适用于输入的数据中有空白字符的情况,较为复杂。关键代码入下:#include&&stdio.h&void&read_file(FILE&*fp)//fp&为打开的可读文件的指针{&&&&char&buf[100];&//定义一个足够大的buf,具体空间依实际应用&&&&int&ret,&i=0;&&&&&&&&while(1)&&&&{&&&&&&&&ret&=&fgetc(fp);&&&&&&&&if(ret&==&EOF&||&ret&==&',')//这里约定结束的标识,如果换行也可以作为结束标识,则这里可以增加||ret&==&'\n'&&&&&&&&{&&&&&&&&&&&&buf[i]&=&0;&&&&&&&&&&&&printf(&get&value:%s\n&,buf);&&&&&&&&&&&&//获取到一个合法数据,如果需要处理可以在这里进行。&&&&&&&&&&&&i&=&0;//为下一个输入做准备&&&&&&&&}&&&&&&&&//else&if();//这里不做任何事。如果有什么需要忽略的字符,可以加在这一行,比如忽略换行,可以加else&if(ret&==&'\n');&&&&&&&&else&buf[i]++=&&&&&&&&&&&&&&&&if(ret&==&EOF)//到文件结尾退出。&&&&}}
软件工程师
#include &stdio.h&#include &stdlib.h&#include &string.h&int main(){ FILE *file = fopen(&aw.txt&, &rb&); if(!file){
printf(&error!\n&);
return -1; } char vec[255][255] = {0}; int i = 0, j = 0; while (!feof(file)) {
char c = fgetc(file);
if(c != ',')
vec[i][j++] =
} } fclose(file); for(int k = 0; k &= k++)
printf(&%s\n&, vec[k]); return 0;}
本回答被提问者采纳
直接读就可以了比如说scanf(&%f ,%f ,%f&, &f1, &f2, &f3); // %f后面加个空格再加个逗号或者循环也可以的while(scanf(&%f ,&, &farray[xxx])){}
逗号的数量不知道,起止都没有任何标记,scanf办不到
那么一次读入到一个大字符串中. , 比如说 str_all然后char list[500][20]; // 保存新字符串的位置const char* first
= atr_ // 复制的起点const char* next
= atr_ // 逗号的位置for (int i = 0 ; *next != '\0'; ++next){
if (*next == ',') // 发现逗号
memcpy(list[i], first, next-first); // 复制内容到list
first = next+1; // 把复制的起点指向逗号之后的一个位置, 为下次复制做准备
++i; // list 下标+1
}}我学的是C++, 对C的文件读取不熟悉, 只能在算法上提供点帮助了
最少10分钟解决 刚才解决了个类似的问题
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。"c语言分割逗号字符串"的糗事
你可能感兴趣:
糗事百科为大家收集了很多的c语言分割逗号字符串的糗事,各种关于c语言分割逗号字符串的爆笑经历、尴尬时刻和开心视频,想持续关注c语言分割逗号字符串的糗事就收藏本页吧.
扫码下载糗事百科app怎么去掉字符串中的逗号-CSDN论坛
怎么去掉字符串中的逗号
在js中去掉字符串中所有的逗号,可以用replaceAll替换,那是怎么个替换法咯
String.prototype.replaceAll&=&function&(AFindText,ARepText){
&&&&&&&&&&&&&&&&raRegExp&=&new&RegExp(AFindText,"g");
&&&&&&&&&&&&&&&&return&this.replace(raRegExp,ARepText);
alert("axxxbxxxxcxxxxx".replaceAll("x",&"_"))
是不是js中没有replaceAll方法咯,那比如说是这样一串数字123,456,789,4这样的数字怎么转换了,我是新手,麻烦写具体一点咯,谢谢了
js有对应的replace方法
是呀,对应的replace方法只能去掉单独的咯
谁能帮我一下咯,急呀
一楼写的是很好的,请看我下面的实例代码:
&script&language="javascript"&type="text/javascript"&
&&&String.prototype.replaceAll&=&function&(AFindText,ARepText){
&&&&&&&&&&&&&&&&raRegExp&=&new&RegExp(AFindText,"g");
&&&&&&&&&&&&&&&&return&this.replace(raRegExp,ARepText);
var&str&=&"123,456,789,4";
alert(str.replaceAll(",",""));
运行结果:
function&clear(str)&{
str&=&str.replace(/,/g,&"");//取消字符串中出现的所有逗号
你试试看,应该可以取消的,如果不行,可以参照:
[code=JScript]
function&clear(str)&{
var&length&=&str.
for(var&i&=&0;&i&&&&i++)&{
str&=&str.replace(",",&"");
写一个方法:
function&deleDot(){
&&&&&&&&&&&&var&str&=&"1,2,3";
&&&&&&&&&&&&var&newStr&=&"";
&&&&&&&&&&&&for(var&i=0;&i&str.&i++){
&&&&&&&&&&&&&&&&if(str.charAt(i)&!=&","){
&&&&&&&&&&&&&&&&&&&newStr&+=&str.charAt(i);
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&&&&&alert(newStr);
引用&1&楼&closewbq&的回复:JScript&code&script&
String.prototype.replaceAll=function&(AFindText,ARepText){
&&&&&&&&&&&&&&&&raRegExp=new&RegExp(AFindText,"g");returnthis.replace(raRegExp,ARepText);
alert("axxxbxxxxcxxxxx".replaceAll("x","_"))&/script&
回复%d是C语言中的字符吗?逗号是字符吗?_百度知道
%d是C语言中的字符吗?逗号是字符吗?
我有更好的答案
%d是按整数输出,ASCII里面查得到的符号都可以转换为整型,整型也可以直接转换为ASCII里面查得到的字符。
【1.41】执行语句printf(&2:%d,&,printf(&1:%d,&,scanf(&%d&,&x)));以后的输出结果是____。A) 2:1,1:1, B) 1:1,2:1, C) 2:4,1:1 D) 1:1,2:4,这题怎么做?请您给个详细的解释,谢谢了。
原题就是这样吗?scanf 需要从键盘获取一个输入啊。
原题就是这样,还得麻烦您给解析下!百度里面有这个题,可是那个解析没看懂所以就提问了。那个您去看下那个解析,希望您能给我个满意的回答,再次感谢!
采纳率:36%
你这是格式化输入输出里面的吧?表示的是数据格式。
你这回答我不懂啊!能详细点吗?
printf和scanf两个函数就是格式化输出和格式化输入,%d表示按10进制整型输入输出
【1.41】执行语句printf(&2:%d,&,printf(&1:%d,&,scanf(&%d&,&x)));以后的输出结果是____。A) 2:1,1:1, B) 1:1,2:1, C) 2:4,1:1 D) 1:1,2:4,怎么做这个题?请您给那详细的回答。谢谢了。
第一个printf输出的是1:scanf的返回值加逗号,第二个printf输出的是2:第一个printf的返回值加逗号;另外printf的返回值为输出字符的个数,scanf返回的是成功赋值的变量的个数,最终结果就是D
本回答被网友采纳
先说明scanf printf的返回值是输入
个数然后 运行顺序应该从括号内到外所以先输出 1:1再输出2:1望采纳
这道题啊,那个答案是C,这是某年国家C语言二级题,您给看下!再次感谢!
又看了一遍感觉应该是D(我用c跑了一遍
是d)先运行里面 所以先是1:1然后才走外面 刚才没注意里面的printf返回值不是1
(因为一共输出了1
四个字符)
为您推荐:
其他类似问题
逗号的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 csv 字符串中的逗号 的文章

 

随机推荐