如何正确打印c字符串中的每个元素
how to properly print each element in a c string?
#include <stdio.h>
#include <iostream>
using namespace std;
int main(){
char *a[20];
FILE * fin = fopen("testtest.txt","r");
int i;
fscanf(fin,"%s",a);
for(i=0;i<20;i++)
{
printf("%cn",a[i]);
}
system("pause");
}
在这个程序中,我想打印数组中的每个元素,应该是A B C D E但实际上它打印的是:
似乎每个元素都是奇怪的,我该如何正确打印它?
A
E
─
╒
┴
■
┌
·
Φ
8
↔
p
╘
╠
x
3
☻
a
的类型是char*
的数组,而不是char
的数组。改变:
char a[20];
建议在最高警告级别编译,并将警告视为错误。例如:
<>之前$ gcc -Wall -Werror -pedantic main.cmain.c:在main函数中:main.c:9:5: error: format ' %s '期望参数类型为' char * ',但参数2的类型为' char ** ' [-Werror=format]main.c:10:5:错误:format ' %c '期望参数类型为' int ',但参数2的类型为' char * ' [-Werror=format]Cc1:所有警告都被视为错误之前检查fopen()
和fscanf()
的结果,以确定文件已打开,数据已读取到a
,然后再尝试使用变量
a
是一个包含20个char
指针的数组。我想你想要一个20个字符的数组而不是
char a[20];
char a[20];
FILE * fin = fopen("testtest.txt","r");
int i;
fscanf(fin,"%19s",a);
相关文章:
- 是否可以在c++中处理字符串流中的各个元素
- 如何将元素添加到向量的字符串位置
- 如何在 Arduino 字符串的开头添加元素.类似于 JS unshift();
- C++将字符串数组的元素存储到变量中
- 循环访问还包含未使用元素的字符串数组
- 将包含多个元素的字符串作为输入并转换为矢量 C++
- 如何计算字符串中用户输入元素的出现次数?
- C++ 查找字符串中存在的元素向量
- 如何将凯撒密码的元素从字符串更改为字符串
- 常量数组如何在每个元素中只能包含字符,而 char* 数组能够指向每个元素中的字符串?
- 用字符串 c++ 比较对向量的元素
- 将指针作为缓冲区传递到第一个字符串元素
- C++字符串问题-如何访问字符串元素
- 将字符串集合中的元素添加到字符串集合的向量中
- 如何将字符串加载到BYTE*数组(C++)的元素中
- 需要从字符串数组的一部分访问元素
- 如何打印出常量字符串的第一个元素?
- 如何使用libxml2从C 中的XML文件中检索节点和特定元素字符串而不使用XPATH
- 如何使用XPath使用libxml2从C 中的XML文件中检索节点和特定元素字符串
- 添加元素<字符串、指针>以提升无序哈希图