C语言把一些字符串存入一个二维数组(在线等)

作者&投稿:徐凯 (若有异议请与网页底部的电邮联系)
跪求C语言中怎样把很多字符串存入二维数组中,并用指针输出,急用~谢谢~

给你举个例子,这里str就是一个二维数组,我手动输入10个字符串存入该数组,然后用该二维数组的行指针输出
#include
#include
void main()
{
char str[10][20];
int i;
for(i=0;i<10;i++)
gets(*(str+i));
for(i=0;i<10;i++)
puts(*(str+i));
}

pwd = getpwuid(buf.st_uid);
grp = getgrgid(buf.st_gid);

if(NULL == pwd)
{
printf("pw is null
");
exit(1);
}
if(NULL == grp)
{
printf("grp is null
");
exit(1);
}
// show file type
printf("%c",type);

// show permission of usr, grout and other
while(i<9)
{
printf("%c",permission[i]);
i++;
}

猜测:你的目的是读文件中的多行出来,然后分行存储二维数组,最后按每行再输出出来;

解决方法:
如果是读多行,正常情况下应该是每行每行往外读,而不是一下子全读出来。
用一个for循环,每次调fgets函数,只读一行。
读一行存一行。
然后再for循环往外cout。

fgets每次读一行,
fscanf则要自己定规则,你很难判断行的结束符/n/a

建议:
//1. 如是c的话不要引用#include<iostream>,如果c++的话不要引用#include<stdio.h>
//2. 因为是强制读100个,并且只能读100个。如果文件中总数小于100,则可以正常打印出来;如果大于100,则只能输出100个;猜测你的文件中第一行应该是多于100个字符的;
//3. 学会单步跟踪加细心
//4. 多用VC6自带的帮助文档(安装完CSDN后按F1可弹出)

#include<stdio.h>
#include<iostream>
#include <string.h>
using namespace std;
#define M 100
#define N 100
void main()
{
//首先是把较长的字符串存贮到一个二维数组a[M][N]中,以空格为界限
int i=0,j=0;
char a[M][N];

FILE *fp;
fp=fopen("D:\\file2.txt","rt"); //D盘中的一个文件
if(!fp)
{
cout<<"fail!"<<endl;
}
int count=0;//计数器,计算字符串个数
while (!feof(fp))
{
fscanf(fp,"%s",&a[i]);
i++;
count++;
}
i=0;
for(i=0;i<count;i++)
{
cout<<a[i]<<" ";

}
cout<<endl;

}


在c语言中,将打印出来的字符串保存到txt文档中
fprintf(fp, ...);...部分 就是你原本的printf部分的参数。这样就打印到txt里面了。程序退出的时候,把fp关掉就可以了。还有一个更简单的方法,在程序开始的时候调用 stdout = freopen("out.txt", "w", stdout);其中out.txt就是你要存的文件名。这样所有原本打印到提示符上的字符,就都存到ou...

C语言字符串存入多个单词
{ 姓名:定义一个字符串数组;学号:定义一个数组或者定义一个long int数 成绩:定义一个整形的数就可以了 };之后可以在主函数中这样定义: stu a[100];\/\/表示100个学生,对每个学生的姓名、学号、成绩的引用分别为---a[i].姓名、a[i].学号、a[i].成绩;写入文件的时候可以将结构体数组a[...

C语言里如何输入几个字符串放到一个数组中
方法如下:include <stdio.h> void main(){ char s[10][80];for(i=0;1<10;i++){ gets(s[i]);} }

用C语言实现 键盘输入10个字符串保存 并比较输入的字符串有没有相同...
\/\/--- include <stdio.h> include <string.h> int same(const char a[][80]) \/*如果a字符串数组中有相同的字符串则返回1,否则返回0*\/ { int i,j;for (i = 0; i<9; i++) { for (j=i+1; j<10; j++) { if (!strcmp(a[i],a[j])) { return 1;} } } return 0;...

C语言取某个字符后的字符串存到另一个字符串
思路:先遍历字符串,如果找到该字符后,把后面的所有字符复制到另一个字符串。例如:include <stdio.h>#include <string.h>int main (){char ch1[]="123456789",ch2[20],a='4';int i=0,j=0;while(ch1[i++]!=a);while(ch1[i]){ch2[j++]=ch1[i++];}ch2[j]='\\0';puts(ch2)...

c语言程序 输入一字符串存入数组中,逆序存放并输出
对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来的字符数组中,最后输出。(不得调用任何字符串处理函数),例如:输入 hello world 输出 dlrow olleh

c语言中将字符串存在数组中?
“把字符串存在数组里”你理解错误了,数组不一定是“数的组合”,数组只不过是一段连续的存储空间。所以如果是:char a[20];\/\/这就是字符串a,里面的内容才是字符;

Python使用什么语句将键盘输入以单个字符串保存变量 语句实现屏幕显示...
python使用format格式语句将键盘输入以单个字符串保存变量。Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python特点:易于学习、易于阅读、易于维护、...

C语言:输入一字符串存入字符数组,将其中小写英文字母用后面第三个代替...
include <stdio.h>#include <ctype.h>int main(void) { char str[100], *c; printf("Input a string: "); gets(str); for (c = str; *c; c++) { if (islower(*c)) { if (*c >= 'x') *c -= 23; else *c += 3; } else if (islower(*c)...

在c语言中,如何输入:输入一串字符串,将其保存到数组,然后逆序保存到另一...
include<stdio.h> void main(){ char carr1[10],carr2[10];printf("please you inputs a 9 charters:");for(int i=0;i<9;i++){ scanf("%c",&carr1[i]);\/\/输入字符到字符数组carr1 } for(int i=0;i<9;i++){ carr2[9-i]=carr1[i];\/\/将原来的carr1倒序放到carr2 } ...

上杭县15979555781: C语言把一些字符串存入一个二维数组(在线等) -
纵耍盐酸: 猜测:你的目的是读文件中的多行出来,然后分行存储二维数组,最后按每行再输出出来;解决方法:如果是读多行,正常情况下应该是每行每行往外读,而不是一下子全读出来.用一个for循环,每次调fgets函数,只读一行.读一行存一行....

上杭县15979555781: 任意输入5个字符串存放到二维数组中,按字符串长度从短到长顺序输出.(用C程序) -
纵耍盐酸: #include<stdio.h> #include <string.h> int main() {char str[5][20],temp[20];int i,j,k,len[5],t;printf("输入五个字符串:");for(i=0; i<5; i++){scanf("%s",str[i]);len[i] = strlen(str[i]);}for(i=0; i<4; i++){k = i;for(j=i+1; j<5; j++){if(len[k] > len[j...

上杭县15979555781: C语言怎样将一维字符数组存放到二维数组中? -
纵耍盐酸: 1、例如:s1[0][0]是'w' s1[0][1]是'h' s1[1][0]是'f' 字符型数组,每个元素是一个字符,每一行是一个字符串.比如要打印while,就打印s1数组的第一行.2、例程:#include<stdio.h> void main() { int i; char a[10]; char b[2][10]; for (i = 0; i != 2; ++i) { scanf("%s", a); strcpy(b[i], a); } for (i = 0; i != 2; ++i) { printf("%s\n", b[i]); } }

上杭县15979555781: 跪求C语言中怎样把很多字符串存入二维数组中,并用指针输出,急用~谢谢 -
纵耍盐酸: 给你举个例子,这里str就是一个二维数组,我手动输入10个字符串存入该数组,然后用该二维数组的行指针输出#include<stdio.h>#include<string.h> void main() { char str[10][20]; int i; for(i=0;i<10;i++) gets(*(str+i)); for(i=0;i<10;i++) puts(*(str+i)); }

上杭县15979555781: c语言中怎么将字符串按字符存到数组中? -
纵耍盐酸: 直接char s[20]; scanf("%s",s);就可以啦!在C语言中,字符串本来就是以数组的形式存储的.

上杭县15979555781: c语言 怎么样能将字符串存入数组 -
纵耍盐酸: 直接存入一个整形当中,然后建立一个字节指针,做指针加法,一个一个读呗~

上杭县15979555781: c语言怎么将多行字符串赋给一个二维数组,且每行字符个数未知 -
纵耍盐酸: 举例如下:char a[][100]={{"aaa"},{“bbbbb"},{"cccccccccc”},...,{...}};

上杭县15979555781: C语言如何将数据放入二维数组 -
纵耍盐酸: 我给你个动态分配二维数组的函数,访问二维数组就看范例的应用吧.#include "stdio.h" #include "conio.h" #include "stdlib.h"int **AllocIntArray(int row,int col) {int i,j;int **pArray;pArray=(int **)malloc(row*sizeof(int *));if(pArray==...

上杭县15979555781: 用c语言编写程序,把下面的数据输入到一个二维数组中 -
纵耍盐酸: #include <stdio.h>int main(int argc, const char * argv[]) { int arr[4][4]={{25,36,78,13},{12,26,88,93},{75,18,22,32},{56,44,36,58}}; int i,j,temp; printf("主对角线:\n"); for(i=0;i<4;i++) printf("%d ",arr[i][i]); putchar('\n'); printf("副对角...

上杭县15979555781: C语言中,如何给将多组字符串赋给二维数组?. -
纵耍盐酸: #include <stdio.h> main() { char a[1000][200];//1000组,长度200 int i,j; int len; char c; for(i=0;i<1000;++i) { j=0; while((c=getchar())!='\n'&&c!=' ') a[i][j++]=c; if(c==' ') a[i][j]='\0'; else if(c=='\n') {a[i][j]='\0';break;} } len=i+1; for(i=0;i<len;++i) printf("%s\n",a[i]); } /*空格作为分隔*/

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网