使用string C,读写字符串
Working with Strings C, Reading and Writing strings
这是我代码的一部分。我的程序读取一个。txt文件,并分析文本中写的指令来执行操作。
char *insertar(char line[1024],int num)
{
int i=9;
int pos=0;
char c;
while(i<strlen(line))
{
c=line[i];
switch(pos){
case 0:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].codigo,c);
}
else{
pos++;
}
break;
case 1:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].placa,c);
}
else{
pos++;
}
break;
case 2:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].year,c);
}
else{
pos++;
}
break;
case 3:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].tipo,c);
}
else{
pos++;
}
break;
case 4:
if((c[0]!=',')||(c[0]!=')'))
{
strcat(reg[num].marca,c);
}
else{
pos++;
}
break;
default:
reg[num].estado=1;
return 0;
break;
}
i++:
}
fwrite();
}
问题是在每一行中
strcat(reg[num].codigo,c);
我得到这个错误:
error: invalid conversion from 'char' to 'const char*' [-fpermissive]
我该如何修复它?
strcat
的签名是char *strcat(char*, char*)
,但是您传递的是char
作为第二个参数。第二个参数需要是指向char
的指针…即&c
…但这不是全部的解决方案……这里还有其他问题-所有c[0]
都不正确,因为c
不是char
的数组。我想大多数情况下你指的是c
strcat的签名是char * strcat (char * destination, const char * source);
在你的代码中的第二个参数是char c,因此问题
相关文章:
- 用C++快速读写文件
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 在一个读写器队列中,我可以用volatile替换原子吗
- C++套接字对不读/写父/子
- 如何调试读写器锁的死锁?
- 在两个线程上读/写 64 位,无互斥/锁定/原子
- Linux 挂载使用重新挂载以允许读写
- C++中读/写二进制文件
- 如何读/写或遍历 std::array 中的特定元素范围?
- 内存排序或读取-修改-写入操作,仅(读/写)内存顺序
- USB-HID 读/写(重叠)等待单个对象不返回C++
- 为什么使用_access时只读测试对读写文件有效
- Boost::Asio串行读/写打开:参数不正确
- 如何在先前读取行中找到一些单词并在C 中的输出读/写字符串中删除它
- 调试读/写字符串到二进制文件
- 使用读/写STL字符串.对吗?
- 使用string C,读写字符串
- C++/MFC/ATL 线程安全字符串读/写
- 试图读写字符串时发生访问冲突