c++二维字符数组怎么部分赋值?

假设定义一个二维数组
char str[5][5]={}
memset(str,'1', sizeof(str));
那么现在的str是
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
假使我在控制台输入(回车换行,空格区分不同元素)
a b c
b d e f
h j
怎么使str变成
a b c * *
b d e f *
h j * * *
* * * * *
* * * * *

0

1个回答

写一个函数
void mystrcpy(char * dest, char * src)
{
for (int i = 0; i < strlen(src); i++)
dest[i] = src[i];
}
和标准的strcpy不同,它不拷贝结束的\0
这样你就可以用
scanf("%s", &s);
mystrcpy(str[i], s);

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
二维字符数组赋值和字符串比较
  一、赋值 1. 声明时初始化赋值 char str[][20]={&quot;aaa&quot;,&quot;bbb&quot;,&quot;ccc&quot;};  2. sprintf / strcpy(#include &amp;lt;string.h&amp;gt;) char str[3][20];  sprintf(str[0],&quot;aaa&quot;);  / strcpy(str[0],&quot;aaa&quot;); sprintf(str[1],&quot;b
怎么向二维字符数组赋值 用scanf
char a[5][20];rn怎么用scanf赋值 或者用别发的方法也行!!!
对二维字符数组赋值问题!
可以用rnchar a[4][16]='0','0','0','0',......'1','1','1','1'rn还可以用很多形式,希望可以讨论一下。
C语言二维字符数组的输入
标题 C语言字符数组的输入输出 定义一个字符二维数组,输入行数n,与列数m #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;math.h&amp;gt; int main() { int n,m,i,j; scanf(&quot;%d %d&quot;,&amp;amp;n,&amp;amp;m); char a[n][m]; for(i=0;i&amp;lt;n;i++) { scanf(&quot;%s&quot;,...
二维字符数组
字符(串)指针char *p =&quot;hello world!&quot;;       //相当于:char *p; p=&quot;hello world!&quot;; p是字符串&quot;hello world!&quot;的首地址。字符串&quot;hello world&quot;存放在数据段。p[0]='a';                               //错误,不能修改。printf(&quot;%s&quot;,p);           //打印出字...
字符数组赋值???
#includernvoid init(char *a)rn int i=0,j;rn for(i=0;i<3;i++)rn for(j=0;j<3;j++)rn *(a[i]+j)='Q';rnrnvoid main()rnrnchar s[3][3];rninit(s); rnrnrn大家看看,函数参数传不进去
字符数组的赋值
1、使用聚合方式给数组赋值的时候只能在声明的时候使用: char acWelcome[] = {'h','e','l','l','0'}; 2、且字符数字不能给字符数组赋值: char a[5]={'h','e','l','l','0'}; char b[5]; a=b;(错误) 3、用字符串为字符数组赋值: char a[]="hello"; 等同于: char a[]="he
关于字符数组赋值给字符数组
写了一个关于图书馆里的程序,但是想从一个文本文件读取数据进入赋值给数组的时候出现问题,请帮帮忙。
C语言二维字符数组的运用—模拟对话
1,二维数组的定义规则 2,二维数组指针的理解和运用 3,字符数组打印时的特殊性 4,sizeof()运算符的使用
二维字符数组疑问
strcpy(str[0],"bc");strcpy(str[1],"bc");strcpy(str[2],"bc");strcpy(str[3],"bc");rn //temp = (char **)str;rn// i = 4;rn for(i =0 ; i < 4; i ++)rn rn printf("%d:%s\t",str[i],str[i]);rn rn printf("\n");rn for(temp = (char **)str,i =0 ; i < 4; i ++)rn rn printf("%d:%s\t",temp,temp);rn temp++;rn rntemp ++ 运算后 是往后移了四个字节 请问为什么 rn
【关于二维字符数组传参】
[code=C/C++]rn字符二维数组rnchar NameId[][]=aaaa,bbbb,cccc,dddd; rnrnvoid WritePacketData(CHAR **NameAndId, CString KeyWord )rn rn CString m_temp;rn m_temp = NameAndId[0];rn MessageBox( m_temp,_T("查到的行"),MB_OK);rn rn for (int i = 0;i<=4;i++)rn rn m_temp = NameAndId[i];rn rnrnrn//调用时怎么传参 rnWritePacketData(/*这里怎么传*/, KeyWord)rnrn或者我的WritePacketData 函数入口是否正确rn[/code]
二维字符数组的清空
最近做一单片机程序,单片机型号ATmega32A。rn程序中有一个unsigned char ch[8][128];rn程序中需要反复将其清空。最好是一组一组的清空。即是ch[0]清空,ch[1]清空,ch[2]清空……rn现在用的是rn for (CtI=0;CtI<8;CtI++)rn rn for (CtJ=0;CtJ<128;CtJ++)rn rn DisplayRam[CtI][CtJ]=0;rn rn rnrn求快速清空方法。
17、二维字符数组概念
C语言基础11-12天。其中包括数组指针结构体。
hihocoder—二维字符数组匹配
华电北风吹 2016/3/6题目描述: hihocoder—1094 : Lost in the City 描述 Little Hi gets lost in the city. He does not know where he is. He does not know which direction is north.Fortunately, Little Hi has a map of
二维字符数组使用问题
#include nint main()n char a[100][19];n int n;n int i,j;n int sum;n int b[17]=7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2;n char c[11]='1','0','X','9','8','7','6','5','4','3','2';n int flag=1; n scanf("%d",&n);n for(i=0;i=0 && a[i][j]-'0'<=9 ;j++)n n sum+=b[j]*(a[i][j]-'0');n n if(j!=17 || a[i][17]!=c[sum%11])n flag=0;n printf("%s\n", a[i]);//输出有问题的字符串 n n n n if(flag==1)n printf("All passed");n n return 0;n
动态创建二维字符数组
我想实现类似于List控件或者Combo控件那样的可以动态增行的功能,就是在内存中逐行增加字符串,这些字符串可以被其它函数共享访问。不想用类,不知道有没有别的方法?
二维字符数组返回值
char *getmonth( int n ){        if(n&amp;gt;12 || n&amp;lt;=0) return NULL;    static char month[][10]={&quot;January&quot;,&quot;February&quot;,&quot;March&quot;,&quot;April&quot;,&quot;May&quot;,&quot;June&quot;,&quot;July&quot;,&quot;Aguest&quot;,&quot;
关于二维字符数组的使用?
我定义一个二维字符数组 char charat[2][7]="BANJIN","GAODU";rnrn如果我在程序中某处想使用“BANJIN”这个字符串rnrn可以直接使用 charat[0]吗?rnrnrn不对的话应该如何做呢?还有其他好的办法吗?
二维字符数组栈损坏
[code=C/C++]rnfloat rate,maxRate[10]=1,1,1,1,1,1,1,1,1,1;rnchar ch[10][10]=0;rnCString strItem;rn...rn for(int i=0;i<10;i++)rn rn if(rate>maxRate[i])rn rn maxRate[i]=rate;rn ...此处得到了正确的strItemrn strcpy(ch[i],strItem);//本句发生ch栈损坏rn break;rn rn rn...rn[/code]rnrn上述伪代码功能如此:maxRate将存放许多浮点rate中最大的10个(当然算法中少了排序),但想先解决strcpy的问题,貌似错在CString向多维数组的传递
二维字符数组与字符指针的问题
int main()rnrn char a[3][10];rn rn char **p;rn p = a; rn rn return 0;rn rn这样为什么会有警告呢??rnrn请各位指点一二!
【看书】二维字符数组
在做【UVa】[227]Puzzle1这一题的时候 对于 char map[5][5] ; 这种形式的变量又做了讨论
C++二维字符数组的delete
char* data[] = "hello", "thanks", "question";rnchar** temp;rnfor(int i = 0; i < 3; i++)rn temp[i] = new char(strlen(data[i]));rn strcpy(temp[i], data[i]);rnrnrnfor(int j = 0; j < 3; j++)rn delete [] temp[j];rn temp[j] = NULL;rnrndelete[] temp;rnrn这段代码错在哪里了 怎么总是检测到内存泄露?rnrn将delete部分的for循环去掉 则反而不会出错 那不是明摆着内存泄露么?
二维字符数组动态分配内存;
字符串的矩阵,运行时算出长(子串数目)为row,宽(单词大小)为column,不需要访问字符,因为操作对象都是串(我的单词)rn如何构建vector并使其大小为row*column;每个元素赋值全"reserve",我读文件后自行改值;能把访问元素的代码列出就更好了,因为之后我将解析别处的串来和这里的每个子串比较rnrn
C#中二维字符数组怎么转换成字符串数组
我定义了一个二维的字符数组:rn[code=C#]char[,] charArray = new char[10,10];[/code]rnrn按照习惯上的方式把这个字符数组转换成一个一维的字符串数组rn请问应该怎么做?????rn------------------------------------------------------------------------rn补充一点:rn我知道怎么把一维的字符数组转换成字符串, 例如:rn[code=C#]string str = new string(charArray);[/code]rnrn显然, 我可以类似这样逐个为字符串实例化, 获得这个字符串数组rnrn但因为某种原因 我对这个二维字符数组的操作并不是按行来进行的, 可能是随机处理, 但必须随时能转换rn那么这样, 上面这种方法就行不通rnrn急向各位请教, 谢谢大家!
看下怎么%s不能输出二维字符数组
%c就可以,rn#includernvoid main()rnrn char i,j,a[7][14]="A","BAB","CBABC","DCBABCD","EDCBABCDE","FEDCBABCDEF","GFEDCBABCDEFG";rn rn for(i=0;i<7;i++)rnrn rn for(j=0;j<14;j++)rn if(j%14==0) printf("\n");rn rn printf("%c",a[i][j]);rnrnrn
C语言中字符数组赋值问题
这些内容本来应该在文件中存储,因为资源有限没有在硬件上引入文件系统,因此需要把它放在数组中,第一次遇到这种问题,请高手指教。rn[code=C/C++]n0140 a0 z2rnn0150 x11 y2.5rnn0160 b1 z-0.5 (start e)rnn0170 c16rn[/code]rn我想把上面的内容赋值给数组[code=C/C++]char _buffer[][/code]。rn在网上找了一些资源,但是没看到跟这种相关的方法。[url=http://wenku.baidu.com/view/cff97dfa941ea76e58fa0407.html]参考[/url]。
C语言中字符数组的初始化与赋值
C语言中字符串的初始化赋值及其他操作
C语言(C++)如何给字符数组赋值
1、char c[5];  c[0]=’H’; c[1]=’e’; c[2]=’l’; c[3]=’l’; c[4]=’o’; 2、charc[5]={‘H’,’e’,’l’,’l’,’o’}; 3、(1)如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预测的;   (2)如果花括号中提供的初值个数(即字符个数)大于数组长度,则按语法错误处理;   (3)如果花括号中提供的初值
[C语言]给一个二维字符数组赋值的问题
二维字符数组的赋值
动态分配的二维字符数组 赋值时记得加‘\0’
char **p; p = new char *[3];  for (int i = 0; i p[i] = new char[3]; for(int i = 0; i for(int j = 0; j p[i][j] = 'a'; cout 输出的p[0]、 p[1] 每行后面会有乱码,因为没有结束符'\0'。但若: char **p; p = new
返回字符串指针的函数对二维字符数组赋值问题
下面这个代码里报错说“Line 16 incompatible types in assignment”,我不知为什么会出这种问题,请各位指点,谢谢!rnrn/* Two D array pointer assignment from string-returning functions*/rnrn#include rnrn#define NAM 2rn#define LEN 21rnrnchar * retinput(void);rnrnint main(void)rn rn char names[NAM][LEN];rn int i;rn rn for(i = 0; i < NAM; i++)rn names[i] = retinput(); /*报错说这里的赋值类型不匹配*/rn puts(names[i]);rn rn rn puts("\nDone!");rn rn getch();rn return 0;rnrnrnchar * retinput(void)rn rn char nameinput[LEN];rn char * pname = nameinput;rn rn printf("\nInput the name: ");rn rn while(gets(pname) != NULL && pname[0] != '\n')rn return pname;rnrn
字符数组的赋值问题
为什么 字符数组比如 fuck[255]rnrn在定义的时候 char fuck[255]="字符数组赋值测试";就能成功运行。rnrn但是如果 rnint fuck[255];rnfuck[255] = "字符数组赋值测试"; 就不行,我想这是个老问题。我是新手,麻烦大家提点一下,不胜感激。
两个字符数组的赋值问题?
P1 array[0..10] of char;rnP2 array[0..10] of char;rnrn现在要将数据P1的值传给P2,rn for i := 0 to 10 dorn beginrn P2[i] := P1[i];rn end;rnrn请问各位有没有更好的方法,或是有什么函数。rn
关于字符数组赋值的问题
我在vc里写rnvoid main()rnrnrn char arr[10] = "flat";rnrn printf("%s",arr);rnrn能通过编译并且运行,rn但是如果改成rnvoid main()rnrnrn char arr[10] ;rn char arr[] ="flat";rn printf("%s",arr);rnrn就会出错error C2059: syntax error : ']'rn不明白其中原由,初始化改成赋值就不行了吗?rn
字符数组的初始化与赋值
字符数组的初始化方式变量的定义指的是:指明变量所属类型、变量名称、分配空间以及初始化其初始值的过程。可以看出,变量的初始化是变量的定义的一部分。除了const变量需要显示的初始化以外,如果变量定义的时候,不显示初始化,编译器会为变量以默认值进行初始化。变量的赋值和变量的初始化有着本质的区别,具体见我的另一篇博客:初始化那点小事。
字符数组赋值连接的问题?
LoadBMP("data/"+i+"1.bmp"));rn这样怎么会出错的呢?rn报错说“CAN'T ADD TWO POINTERS"rn不知怎么回事啊?rn求救啊!
关于字符数组的赋值
1. 假如我这样赋值:char a[]='a', 'b', 'c';rn 在输出a的时候会有异常结尾,也就是abc后面还有几个奇怪的字符。rn 而这样赋值 char a[3]='a', 'b', 'c';结果跟刚才的输出是一样的;rn 当然我知道这样赋值是正确的char a[4]='a', 'b','c';rn我就是想问为什么前两种情况会有异常结尾哪?rn2. 如果结构体中包含了一个是字符串的成员变量char a[20];rn那么我这样赋值为什么不对哪:struct A.a="abc";rn也就是我这样赋值之后改变不了struct A.a的值。rnrn请教各位大侠
字符数组赋值问题
一个字符数组接收个数未知的字符,其中头和尾的字符是固定的,把头和尾之间的字符赋值给另外一个字符数组,我写的代码如下:rn for ( i = 0; i < a.Length-1; i++)rn rnrn if ((a[i] == 'E') && (a[i+1] == 'B'))rn rn j = i;rn rn rn for(n=j+4;n
给字符数组赋值的题
#include "stdio.h"rnmain()rnrn struct aa rn int a;rn int b;rn char c[10];rn ;rn struct aa x,y;rn x.a=1;rn x.b=2;rn x.c[10]="a,b,c,d,e"; //这样赋值对不对?为什么;rn printf("%d,%d,%s",x.a,x.b,x.c);rn rnrnrn我把它改在这样,别人说做错了rn#include "stdio.h"rnmain()rnrn struct aarn int a;rn int b;rn char c[10];rn ;rn struct aa x,y;rn x.a=1;rn x.b=2;rn strcpy(x.c,"abcde");rn printf("%d,%d,%s",x.a,x.b,x.c);rnrn rnrn请问应该怎么搞
c++字符数组的赋值问题
如何给一个已经初始化过的字符数组赋值?比如定义一个字符数组a[30],已经给将a[0]初始化,如何才能继续向该数组继续输入某一字符串?前提条件是不改变a[0]的值。n求各位大佬指教!!![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif)
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo