c 如何处理字符串中的换行符?下面的问题如何实现?strtok就算了
例如:“ABCDEFG\n12345678\nabcdefg\n"我想将这个字符串变量中按照换行符分别存储在不同的变量中,varc1"ABCDEFG"varc2"1234...
例如:“ABCDEFG\n12345678\nabcdefg\n" 我想将这个字符串变量中按照换行符分别存储在不同的变量中,
varc1 "ABCDEFG"
varc2 "12345678"
varc3 "abcdefg"
还有什么实现方式? 展开
varc1 "ABCDEFG"
varc2 "12345678"
varc3 "abcdefg"
还有什么实现方式? 展开
3个回答
展开全部
我把字符串 存储在指针数组里了 你看看 运行是可以的
#include <stdio.h>
#include<string.h>
void binsearch(char *s)
{
char *varc[10]={NULL};
char *p=s;
char *t=s;
int i=0;
int k=0;
while(*p!='\0')
{
i++;
if(*p=='\n'){
*p='\0';
varc[k] = t;
k++;
t=t+i;
i=0;
}
p++;
}
for(int j=0;j<k;j++){
printf("varc %d:%s\n",j+1,varc[j]);
}
}
int main(){
char s[100]="ABCDEFG\n12345678\nabcdefg\n";
binsearch(s);
return 0;
}
#include <stdio.h>
#include<string.h>
void binsearch(char *s)
{
char *varc[10]={NULL};
char *p=s;
char *t=s;
int i=0;
int k=0;
while(*p!='\0')
{
i++;
if(*p=='\n'){
*p='\0';
varc[k] = t;
k++;
t=t+i;
i=0;
}
p++;
}
for(int j=0;j<k;j++){
printf("varc %d:%s\n",j+1,varc[j]);
}
}
int main(){
char s[100]="ABCDEFG\n12345678\nabcdefg\n";
binsearch(s);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int main() {
char *s="ABCDEFG\n12345678\nabcdefg" ;
char varc1[10],varc2[10],varc3[10];
sscanf(s,"%s %s %s",varc1,varc2,varc3);
printf("1:%s 2:%s 3:%s",varc1,varc2,varc3);
return 0;
}
显示
1:ABCDEFG 2:12345678 3:abcdefg
char *s="ABCDEFG\n12345678\nabcdefg" ;
char varc1[10],varc2[10],varc3[10];
sscanf(s,"%s %s %s",varc1,varc2,varc3);
printf("1:%s 2:%s 3:%s",varc1,varc2,varc3);
return 0;
}
显示
1:ABCDEFG 2:12345678 3:abcdefg
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把0D0A改成0000,在程序中0x00为字符串的结尾标识。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询